JPATransactionManager commit Kafka producer.

I am exploring and trying to learn Kafka transactions in Spring boot 2.0.2. I am mostly interested in Atomic multi-partition/topic writes in conjunction with JPA - Save to DB and Kafka, or rollback. I got everything working, but one thing bothers me.
I have created a ChainedTransactionManager with Jpa and Kafka.
@Bean     public ChainedTransactionManager chainedTxM(JpaTransactionManager jpa, KafkaTransactionManager<?, ?> kafka) {         return new ChainedTransactionManager(kafka, jpa);     }
This particular chainedTransactionManager will first commit Jpa transaction and then Kafka transaction. The Kafka messages are however sent as soon as the chainedTransactionManager commits the Jpa transaction. Why does Kafka not wait for the Kafka Transaction manager to commit before it send the messages?
I have debugged this my adding breakpoints to the commit(TransactionStatus status) method in ChainedTransactionManager. Here is the code snippet from the ChainedTransactionManager.
if (commit) {
    try {
    //Kafka messages are sent once the JPA transaction commits.
    //I have configured such that the JPA tranaction manager is always called first.
    multiTransactionStatus.commit(transactionManager);
    } catch (Exception ex) {
        commit = false;
	 commitException = ex;
	 commitExceptionTransactionManager = transactionManager;
    }
}

The code can be found here https://github.com/kkflf/kafka-transaction-mystery
The code is pretty much just @garyrussell last comment on this issue https://github.com/spring-projects/spring-kafka/issues/645
I have also attached part of the debug log.
2018-06-11 15:06:25.862 DEBUG 20378 --- [           main] o.s.k.t.KafkaTransactionManager          : Created Kafka transaction on producer [CloseSafeProducer [delegate=org.apache.kafka.clients.producer.KafkaProducer@3c854752]]
2018-06-11 15:06:25.862 DEBUG 20378 --- [           main] o.s.orm.jpa.JpaTransactionManager        : Creating new transaction with name [dk.kkflf.kafka.transaction.mystery.KafkaTransactionMysteryApplication$Foo.sendToKafkaAndDB]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT; 'chainedTxM'
2018-06-11 15:06:25.862 DEBUG 20378 --- [           main] o.s.orm.jpa.JpaTransactionManager        : Opened new EntityManager [SessionImpl(PersistenceContext[entityKeys=[],collectionKeys=[]];ActionQueue[insertions=ExecutableList{size=0} updates=ExecutableList{size=0} deletions=ExecutableList{size=0} orphanRemovals=ExecutableList{size=0} collectionCreations=ExecutableList{size=0} collectionRemovals=ExecutableList{size=0} collectionUpdates=ExecutableList{size=0} collectionQueuedOps=ExecutableList{size=0} unresolvedInsertDependencies=null])] for JPA transaction
2018-06-11 15:06:25.864 DEBUG 20378 --- [           main] o.h.e.t.internal.TransactionImpl         : begin
2018-06-11 15:06:25.865 DEBUG 20378 --- [           main] o.s.orm.jpa.JpaTransactionManager        : Exposing JPA transaction as JDBC transaction [org.springframework.orm.jpa.vendor.HibernateJpaDialect$HibernateConnectionHandle@60d6fdd4]
2018-06-11 15:06:25.871 DEBUG 20378 --- [           main] stomAnnotationTransactionAttributeSource : Adding transactional method 'save' with attribute: PROPAGATION_REQUIRED,ISOLATION_DEFAULT; ''
2018-06-11 15:06:25.871 DEBUG 20378 --- [           main] o.s.b.f.s.DefaultListableBeanFactory     : Returning cached instance of singleton bean 'transactionManager'
2018-06-11 15:06:25.871 DEBUG 20378 --- [           main] o.s.orm.jpa.JpaTransactionManager        : Found thread-bound EntityManager [SessionImpl(PersistenceContext[entityKeys=[],collectionKeys=[]];ActionQueue[insertions=ExecutableList{size=0} updates=ExecutableList{size=0} deletions=ExecutableList{size=0} orphanRemovals=ExecutableList{size=0} collectionCreations=ExecutableList{size=0} collectionRemovals=ExecutableList{size=0} collectionUpdates=ExecutableList{size=0} collectionQueuedOps=ExecutableList{size=0} unresolvedInsertDependencies=null])] for JPA transaction
2018-06-11 15:06:25.871 DEBUG 20378 --- [           main] o.s.orm.jpa.JpaTransactionManager        : Participating in existing transaction
2018-06-11 15:06:25.874 DEBUG 20378 --- [           main] o.h.e.i.DefaultMergeEventListener        : EntityCopyObserver strategy: disallow
2018-06-11 15:06:25.879 DEBUG 20378 --- [           main] org.hibernate.loader.Loader              : Loading entity: [dk.kkflf.kafka.transaction.mystery.Message#1]
2018-06-11 15:06:25.881 DEBUG 20378 --- [           main] org.hibernate.SQL                        : select message0_.id as id1_0_0_, message0_.name as name2_0_0_ from message message0_ where message0_.id=?
2018-06-11 15:06:25.889 DEBUG 20378 --- [           main] org.hibernate.loader.Loader              : Done entity load
2018-06-11 15:06:25.893 DEBUG 20378 --- [           main] o.h.e.i.AbstractSaveEventListener        : Generated identifier: 1, using strategy: org.hibernate.id.Assigned
Repo save: dk.kkflf.kafka.transaction.mystery.Message@36baa049
2018-06-11 15:06:25.902 DEBUG 20378 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient   : [Producer clientId=producer-1, transactionalId=mytrans0] Sending metadata request (type=MetadataRequest, topics=foo) to node <IP_ADDRESS>:9092 (id: -1 rack: null)
2018-06-11 15:06:25.904 DEBUG 20378 --- [ad | producer-1] org.apache.kafka.clients.Metadata        : Updated cluster metadata version 2 to Cluster(id = Zddu9vlbTAuKjh8_f3K0_Q, nodes = [localhost:9092 (id: 0 rack: null)], partitions = [Partition(topic = foo, partition = 0, leader = 0, replicas = [0], isr = [0], offlineReplicas = [])])
2018-06-11 15:06:25.908 DEBUG 20378 --- [           main] o.a.k.c.p.internals.TransactionManager   : [Producer clientId=producer-1, transactionalId=mytrans0] Begin adding new partition foo-0 to transaction
Kafka first: org.springframework.util.concurrent.SettableListenableFuture@53c1179a
2018-06-11 15:06:25.913 DEBUG 20378 --- [ad | producer-1] o.a.k.c.p.internals.TransactionManager   : [Producer clientId=producer-1, transactionalId=mytrans0] Enqueuing transactional request (type=AddPartitionsToTxnRequest, transactionalId=mytrans0, producerId=0, producerEpoch=39, partitions=[foo-0])
2018-06-11 15:06:25.913 DEBUG 20378 --- [ad | producer-1] o.a.k.clients.producer.internals.Sender  : [Producer clientId=producer-1, transactionalId=mytrans0] Sending transactional request (type=AddPartitionsToTxnRequest, transactionalId=mytrans0, producerId=0, producerEpoch=39, partitions=[foo-0]) to node localhost:9092 (id: 0 rack: null)
Kafka second: org.springframework.util.concurrent.SettableListenableFuture@7650ded6
2018-06-11 15:06:25.914 DEBUG 20378 --- [           main] o.s.orm.jpa.JpaTransactionManager        : Initiating transaction commit
2018-06-11 15:06:25.914 DEBUG 20378 --- [           main] o.s.orm.jpa.JpaTransactionManager        : Committing JPA transaction on EntityManager [SessionImpl(PersistenceContext[entityKeys=[EntityKey[dk.kkflf.kafka.transaction.mystery.Message#1]],collectionKeys=[]];ActionQueue[insertions=ExecutableList{size=1} updates=ExecutableList{size=0} deletions=ExecutableList{size=0} orphanRemovals=ExecutableList{size=0} collectionCreations=ExecutableList{size=0} collectionRemovals=ExecutableList{size=0} collectionUpdates=ExecutableList{size=0} collectionQueuedOps=ExecutableList{size=0} unresolvedInsertDependencies=null])]
2018-06-11 15:06:25.914 DEBUG 20378 --- [           main] o.h.e.t.internal.TransactionImpl         : committing
2018-06-11 15:06:25.914 DEBUG 20378 --- [           main] o.h.e.i.AbstractFlushingEventListener    : Processing flush-time cascades
2018-06-11 15:06:25.915 DEBUG 20378 --- [           main] o.h.e.i.AbstractFlushingEventListener    : Dirty checking collections
2018-06-11 15:06:25.916 DEBUG 20378 --- [ad | producer-1] o.a.k.c.p.internals.TransactionManager   : [Producer clientId=producer-1, transactionalId=mytrans0] Successfully added partitions [foo-0] to transaction
2018-06-11 15:06:25.916 DEBUG 20378 --- [ad | producer-1] o.a.k.c.p.internals.RecordAccumulator    : [Producer clientId=producer-1, transactionalId=mytrans0] Assigned producerId 0 and producerEpoch 39 to batch with base sequence 0 being sent to partition foo-0
2018-06-11 15:06:25.916 DEBUG 20378 --- [           main] o.h.e.i.AbstractFlushingEventListener    : Flushed: 1 insertions, 0 updates, 0 deletions to 1 objects
2018-06-11 15:06:25.916 DEBUG 20378 --- [           main] o.h.e.i.AbstractFlushingEventListener    : Flushed: 0 (re)creations, 0 updates, 0 removals to 0 collections
2018-06-11 15:06:25.917 DEBUG 20378 --- [           main] o.hibernate.internal.util.EntityPrinter  : Listing entities:
2018-06-11 15:06:25.917 DEBUG 20378 --- [           main] o.hibernate.internal.util.EntityPrinter  : dk.kkflf.kafka.transaction.mystery.Message{name=foo, id=1}
2018-06-11 15:06:25.919 DEBUG 20378 --- [           main] org.hibernate.SQL                        : insert into message (name, id) values (?, ?)
2018-06-11 15:06:25.919 DEBUG 20378 --- [ad | producer-1] org.apache.kafka.common.metrics.Metrics  : Added sensor with name topic.foo.records-per-batch
2018-06-11 15:06:25.919 DEBUG 20378 --- [ad | producer-1] org.apache.kafka.common.metrics.Metrics  : Added sensor with name topic.foo.bytes
2018-06-11 15:06:25.919 DEBUG 20378 --- [ad | producer-1] org.apache.kafka.common.metrics.Metrics  : Added sensor with name topic.foo.compression-rate
2018-06-11 15:06:25.919 DEBUG 20378 --- [ad | producer-1] org.apache.kafka.common.metrics.Metrics  : Added sensor with name topic.foo.record-retries
2018-06-11 15:06:25.919 DEBUG 20378 --- [ad | producer-1] org.apache.kafka.common.metrics.Metrics  : Added sensor with name topic.foo.record-errors
2018-06-11 15:06:25.922 DEBUG 20378 --- [           main] o.s.orm.jpa.JpaTransactionManager        : Closing JPA EntityManager [SessionImpl(PersistenceContext[entityKeys=[EntityKey[dk.kkflf.kafka.transaction.mystery.Message#1]],collectionKeys=[]];ActionQueue[insertions=ExecutableList{size=0} updates=ExecutableList{size=0} deletions=ExecutableList{size=0} orphanRemovals=ExecutableList{size=0} collectionCreations=ExecutableList{size=0} collectionRemovals=ExecutableList{size=0} collectionUpdates=ExecutableList{size=0} collectionQueuedOps=ExecutableList{size=0} unresolvedInsertDependencies=null])] after transaction
2018-06-11 15:06:25.922 DEBUG 20378 --- [           main] o.s.orm.jpa.EntityManagerFactoryUtils    : Closing JPA EntityManager
2018-06-11 15:06:25.922 DEBUG 20378 --- [           main] o.s.k.t.KafkaTransactionManager          : Initiating transaction commit
2018-06-11 15:06:25.922 DEBUG 20378 --- [           main] o.a.k.c.p.internals.TransactionManager   : [Producer clientId=producer-1, transactionalId=mytrans0] Transition from state IN_TRANSACTION to COMMITTING_TRANSACTION
2018-06-11 15:06:25.923 DEBUG 20378 --- [           main] o.a.k.c.p.internals.TransactionManager   : [Producer clientId=producer-1, transactionalId=mytrans0] Enqueuing transactional request (type=EndTxnRequest, transactionalId=mytrans0, producerId=0, producerEpoch=39, result=COMMIT)
2018-06-11 15:06:25.925 DEBUG 20378 --- [ad | producer-1] o.a.k.clients.producer.internals.Sender  : [Producer clientId=producer-1, transactionalId=mytrans0] ProducerId: 0; Set last ack'd sequence number for topic-partition foo-0 to 1
2018-06-11 15:06:25.926 DEBUG 20378 --- [ad | producer-1] o.a.k.clients.producer.internals.Sender  : [Producer clientId=producer-1, transactionalId=mytrans0] Sending transactional request (type=EndTxnRequest, transactionalId=mytrans0, producerId=0, producerEpoch=39, result=COMMIT) to node localhost:9092 (id: 0 rack: null)
2018-06-11 15:06:25.928 DEBUG 20378 --- [ad | producer-1] o.a.k.c.p.internals.TransactionManager   : [Producer clientId=producer-1, transactionalId=mytrans0] Transition from state COMMITTING_TRANSACTION to READY

(Unrelated to your issue) You should use a ChainedKafkaTransactionManager instead of the one from spring-data - then the container can send the offsets to the transaction.

Does the consumer have read_committed isolation level? Otherwise, the records are available to the consumer as soon as they are sent. I can't envision any scenario where the records are made visible by the JPA commit.

Thank you for getting back to me so fast.
I have not implemented any consumer. I am solely testing the capabilities of atomic multi-partition/topic writes in conjunction with JPA, such that if either one fails they will both rollback. This works fine as long as I sent Kafka messages as the last thing in the transaction.
I looked into the transaction manager and discovered that the Kafka messages are sent once the Jpa transaction manger commits and does not wait for the Kafka transaction manager to commit. This seemed odd to me.

the Kafka messages are sent once the Jpa transaction manger commits

I am not sure what you mean; the records are sent immediately and put in the log by the template.send(); the kafka commit then makes them available to consumers.
If the transaction is rolled back, Kafka puts a record in the log so indicating and read_committed consumers will skip over the rolled back records.
If you are using the console consumer to "see" the messages, you will see them before the commit because the default consumer isolation is read_uncommitted.

I am reading both read_committed and read_uncommitted from console. And yes, if an exception where to happen then the message(s) would only show up in read_uncommitted.
I do not return the Future with .get() on the KafkaTemplate, so I do not expect to the see messages right away.
I have setup two transaction managers. JpaTransactionManager and KafkaTransactionManager. I have ordered them such that the JpaTransactionManager will be commit first in the ChainedTransactionManager.
As soon as the JpaTransactionManager commits, then the Kafka messages are sent (uncommitted). The KafkaTransactionManager will commit the transaction to the transaction log after the JpaTransactionManager is processed.
The setup works fine, I just thought the Kafka message would be sent while/when the KafkaTransactionManager commits to the transaction log, even if it is the last TransactionManager to commit.

I think I just realised why/how it is working. I think I focused too much on Kafka and forgot everything else.
The messages are of course sent when the ChainedTransactionManager calls the first TransactionManager and therefore call all the business logic within the @Transactional annotated method.

I do not return the Future with .get() on the KafkaTemplate,

The fact that you choose not to check the result of the send() has no bearing on whether the messages are actually sent.

ChainedTransactionManager

Again, you must use the ChainedKafkaTransactionManager if you want the container to send the consumer offset to the transaction; otherwise you will have to do that yourself (with the kafka template).

I have solved my problem. You can close the issue.


PDFs fail to download over dat://

Operation System: macOS High Sierra 10.13.3
Beaker Version: v0.7.11 & v0.8
Currently when visiting a pdf in Beaker Browser via the http:// or file:// protocol, it downloads like expected. However, when you attempt to download it via the dat:// protocol, you receive the following error:

Download Error
The download of test.pdf was interrupted

This seems to be specific to PDFs. If I try to download other binary-like, beaker handles it just fine. Here's an example pdf you can try it out on:
http test: https://test-pdf-webdesserts.hashbase.io/test.pdf
dat test: dat://test-pdf-webdesserts.hashbase.io/test.pdf

There's a bug in Electron with downloads over custom protocols. Paul submitted a PR a while ago and just added tests to that PR today, so hopefully that will help it get merged soon🤞

It's merged! Just need the next Electron release


Update ZFS linux  device_plugin component to use device_scanner output

Currently ZFS device_plugin implementation parses ZFS userspace tool command output rather than derive information from the device_scanner output.
Convert ZFS device_plugin module to use the output from the device scanner in order to move towards an event driven device discovery architecture.

the minimum state that would need to be persisted in the device_scanner would be:
pool: name, path (if different from name, non-standard location), uuid, size, datasets (uuid, path, size of each)

duplicates #131 which removes the zfs linux device plug-in component module


Update game_info.py to allow for parsing of older replays

I had some problems while parsing older replays (Season 1 RLCS), e.g. https://drive.google.com/open?id=1oq5XePu1xn-4Su-mB1TJSPuI1NKbfmgV .
During the process of calling Game -> Game.initialize() -> Game.parse_all_data() -> GameInfo().parse_game_info_actor() and the following conditional
if 'TAGame.GameEvent_Soccar_TA:SubRulesArchetype' in game_event_actor:
                self.rumble_mutator = objects[game_event_actor['TAGame.GameEvent_Soccar_TA:SubRulesArchetype']]

I got the following error:
<ipython-input-69-c38ae7f74375> in parse_game_info_actor(self, actor_data, game_event_actor, objects)
    604         self.playlist = actor_data['ProjectX.GRI_X:ReplicatedGamePlaylist']
    605         self.mutator_index = actor_data.get('ProjectX.GRI_X:ReplicatedGameMutatorIndex', 0)
--> 606         if 'TAGame.GameEvent_Soccar_TA:SubRulesArchetype' in game_event_actor:
    607                 # Only used for rumble stats
    608                 # TODO can this contain any other mutators?

TypeError: argument of type 'NoneType' is not iterable

The problem is, that some (older?) replay files yield a dict containing the key 'soccar_game_event_actor' but without content (NoneType). An easy fix was to catch the exception and continue without setting the rumble_mutator.

:white_check_mark: Build carball 0.6.40-wkpbcjaa completed (commit https://github.com/SaltieRL/carball/commit/d02ecbf8a6 by @B-Boesen)

:white_check_mark: Build carball 0.6.40-wkpbcjaa completed (commit https://github.com/SaltieRL/carball/commit/d02ecbf8a6 by @B-Boesen)

Hi @B-Boesen, thanks for the pull request.
I agree with @Longi94 here - the most readable solution is checking for None. Feel free to update the PR and we can get this merged.

If this is the problem I think it is, I think this would be the better solution:
https://github.com/twobackfromtheend/carball/blob/master/carball/json_parser/actor/game_event.py#L9
(https://github.com/twobackfromtheend/carball/commit/126e4af726af0a5075cfe626c37de5d77cc3c698)
Basically add another ClassName to the GameEvent handler.

If this is the problem I think it is, I think this would be the better solution:
https://github.com/twobackfromtheend/carball/blob/master/carball/json_parser/actor/game_event.py#L9
(twobackfromtheend@126e4af)
Basically add another ClassName to the GameEvent handler.

This is indeed the problem you were thinking about. Your additional line of code resolved my issues. I prefer your solution over my attempt and would therefore like to close this request if that is okay. Thank all of you very much for your time.


Button options maybe

It might be nice for a option so you have to hold a button to allow the gravel miner to work cause i was trying to gather flint and i like to make pillars and gravel miner keep triggering

GravelMiner is meant to only trigger when you break a non-gravel block I think.

Also you might want to make it check to see if the block below is air cause it will place the torches on the wall


nixos module zfs: provide /etc/zfs/zpool.d

The scripts for zpool iostat -c and zpool status -c are located in
/etc/zfs/zpool.d
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[X] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Notify maintainers
cc @adisbladis

The scripts need coreutils (and more?) to work, I'll add another commit.

Now it works, but it adds dependency to sudo, smartmontools, and sysstat.

@GrahamcOfBorg test zfs

Looks like we should backport this one?


Compiler setup.py error

compiler：python setup.py install （I just need CPU edition，so, I don't need to compiler nvcc and cuda library ???）：
Traceback (most recent call last):
File "setup.py", line 66, in
CUDA = locate_cuda()
File "setup.py", line 52, in locate_cuda
raise EnvironmentError('The nvcc binary could not be '
EnvironmentError: The nvcc binary could not be located in your $PATH. Either add
it to your path, or set $CUDA_PATH
@MrGF

hi，did you successed？

Set the CUDA_PATH in Environment Variable.
Please refer to http://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html#sample-projects

Set the CUDA_PATH in Environment Variable.
Please refer to http://docs.nvidia.com/cuda/cuda-installation-guide-microsoft-windows/index.html#sample-projects

Hi,
How to deal with the computer without NVIDIA GPU, actually I got the intel gpu in my computer and want to use CPU
to do the inference.
@MrGF @seizeTheDayMin

Similar issue and i have a mac os :(


minor code refactor

Description
Brief description of what this PR is about

If this change is a backward incompatible change, why must this change be made?
Interesting edge cases to note here

Codecov Report

Merging #943 (33d2a65) into master (7ada140) will decrease coverage by 0.08%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##             master     #943      +/-   ##
============================================
- Coverage     70.21%   70.13%   -0.09%
+ Complexity     5089     5080       -9
============================================
  Files           502      502
  Lines         22477    22477
  Branches       2347     2347
============================================
- Hits          15783    15764      -19
- Misses         5448     5465      +17
- Partials       1246     1248       +2

Impacted Files
Coverage Δ
Complexity Δ

api/src/main/java/ai/djl/BaseModel.java
74.65% <100.00%> (ø)
38.00 <0.00> (ø)

api/src/main/java/ai/djl/nn/AbstractBlock.java
64.05% <100.00%> (ø)
43.00 <0.00> (ø)

...in/java/ai/djl/training/DefaultTrainingConfig.java
84.84% <100.00%> (ø)
15.00 <0.00> (ø)

...djl/training/listener/LoggingTrainingListener.java
83.18% <0.00%> (-5.31%)
22.00% <0.00%> (-6.00%)

...gine/src/main/java/ai/djl/dlr/engine/DlrModel.java
53.12% <0.00%> (-3.13%)
4.00% <0.00%> (ø%)

api/src/main/java/ai/djl/training/Trainer.java
91.83% <0.00%> (-3.07%)
33.00% <0.00%> (-1.00%)

...ain/java/ai/djl/tensorflow/engine/TfNDManager.java
88.49% <0.00%> (-2.66%)
28.00% <0.00%> (-1.00%)

api/src/main/java/ai/djl/util/Platform.java
43.47% <0.00%> (-2.18%)
8.00% <0.00%> (ø%)

...c/main/java/ai/djl/mxnet/engine/MxSymbolBlock.java
82.01% <0.00%> (-1.44%)
40.00% <0.00%> (-1.00%)

...g/src/main/java/ai/djl/serving/util/Connector.java
55.40% <0.00%> (-1.36%)
21.00% <0.00%> (ø%)

... and 2 more

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 7ada140...33d2a65. Read the comment docs.


Error when scraping host metrics

Hello I'm encountering an error when trying to scrape the host metrics of my vcenter. I'm running the latest version under docker and here is my config
version: '2.4'
services:
  vmware_exporter:
    environment:
      VSPHERE_USER: <redacted>
      VSPHERE_PASSWORD: <redacted>
      VSPHERE_HOST: <redacted>
      VSPHERE_IGNORE_SSL: "True"
      VSPHERE_COLLECT_HOSTS: "True"
      VSPHERE_COLLECT_DATASTORES: "False"
      VSPHERE_COLLECT_VMS: "False"
      VSPHERE_COLLECT_VMGUESTS: "False"
      VSPHERE_COLLECT_SNAPSHOTS: "False"
      VSPHERE_FETCH_CUSTOM_ATTRIBUTES: "False"
      VSPHERE_FETCH_TAGS: "False"
      VSPHERE_FETCH_ALARMS: "False"
    image: pryorda/vmware_exporter:v0.16.0
    ports:
    - 9272:9272/tcp

When I used multiple accounts (one monitoring, one administrator) and the bug remains. Here is the exacted log (redacted of sensitive information).
$ docker-compose up -d
Recreating vsphere_vmware_exporter_1 ... done

$ curl localhost:9272/metrics && echo ''
# Collection failed

$ docker logs vsphere_vmware_exporter_1
2021-04-02 10:24:12,846 INFO:Starting web server on port :9272
2021-04-02 10:24:16,793 INFO:Start collecting metrics from <redacted>
2021-04-02 10:24:16,794 INFO:Starting host metrics collection
2021-04-02 10:24:16,794 INFO:Fetching vim.HostSystem inventory
2021-04-02 10:24:16,794 INFO:Retrieving service instance content
2021-04-02 10:24:16,796 INFO:START: _vmware_get_host_perf_manager_metrics
2021-04-02 10:24:17,744 INFO:Retrieved service instance content
2021-04-02 10:24:18,334 INFO:Fetched vim.HostSystem inventory (0:00:01.540535)
2021-04-02 10:24:22,391 ERROR:Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/vmware_exporter/vmware_exporter.py", line 1922, in _async_render_GET
    yield self.generate_latest_metrics(request)
twisted.internet.defer.FirstError: FirstError[#0, [Failure instance: Traceback: <class 'ValueError'>: dictionary update sequence element #1 has length 1; 2 is required
/usr/local/lib/python3.7/site-packages/twisted/internet/defer.py:477:callback
/usr/local/lib/python3.7/site-packages/twisted/internet/defer.py:580:_startRunCallbacks
/usr/local/lib/python3.7/site-packages/twisted/internet/defer.py:662:_runCallbacks
/usr/local/lib/python3.7/site-packages/twisted/internet/defer.py:1514:gotResult
--- <exception caught here> ---
/usr/local/lib/python3.7/site-packages/twisted/internet/defer.py:1445:_inlineCallbacks
/usr/local/lib/python3.7/site-packages/vmware_exporter/vmware_exporter.py:1698:_vmware_get_hosts
]]

2021-04-02 10:24:22,393 INFO:FIN: _vmware_get_host_perf_manager_metrics

FYI I'm running vCenter 6.7u3. If I deactivate the host metrics and set everything else to true, everything seems to work.

What are the permissions on the account?

One of the used permissions was monitoring, the other was administrator

Odd. Not 100% sure why its happening. Both have access to read the hosts?

I'm not sure what you mean, I have administrator access on a dc but not on vcenter itself. The monitoring user account should have access to everything readonly, is there a vcenter api you can point me to in order to figure out if it's an ACL issue?

Well I downgraded to v0.14.3 and everything works much better, so it's definetly related to the sensor data (maybe I don't have any in my cluster?).. I'm downgrading for now but hopefully this can help you narrow down the problem ;)

Thanks for that. Ill look more. I can add a nil check around it.

I printed out a couple of errors regarding sensors (I put a giant try..except inside the inner sensor loop)
021-04-09 18:08:46,072 INFO:Error: 'sensorStatus', sensor: numericSensorInfo:name=VMware
2021-04-09 18:08:46,068 INFO:Error: 'name', sensor:  0x80000a60:type=Software Components:sensorStatus=green:value=0:unitModifier=0:unit=
2021-04-09 18:08:46,076 INFO:Error: dictionary update sequence element #1 has length 1; 2 is required, sensor: numericSensorInfo:name=VMware net-vmxnet3 <IP_ADDRESS>-3vmw.6<IP_ADDRESS>4585 2015-02-06 02:37:02.000:type=Software Components:sensorStatus=green:value=0:unitModifier=0:unit=

The block of code is really quite dump (I'm not a python dev)
# line 1697
for s in sensors:
    try:...
    except Exception as e:
        logging.info(
            "Error: {error}, sensor: {sensor}".format(
                error=e, sensor=s
            )
        )

Is there a way to deactivate the sensor fetching, as it's done with alors with a config option?
Thanks

I am also having an issue with the sensor parsing.
https://github.com/pryorda/vmware_exporter/blob/c777973112bfaa795ecc6f6a7f1f4f9937843f4f/vmware_exporter/helpers.py#L112-L120
That code combines the sensor information using a ":" (colon) character.
https://github.com/pryorda/vmware_exporter/blob/c777973112bfaa795ecc6f6a7f1f4f9937843f4f/vmware_exporter/vmware_exporter.py#L1697-L1699
The above code eventually tries to parse the sensor information by splitting on ":" characters. If the contents of a sensor contains a ":" character, everything goes haywire.

Agree with https://github.com/pryorda/vmware_exporter/issues/264#issuecomment-843755419
Here is an example of sensor info contains a ":" in its "name", it leads to this issue:
            (vim.host.NumericSensorInfo) {
               name = "VMware misc-cnic-register 1.78.75.v60.7-1vmw.6<IP_ADDRESS>4585 2015-02-06 02:37:02.000",
               healthState = (vim.ElementDescription) {
                  label = "Green",
                  summary = "Sensor is operating under normal conditions",
                  key = "green"
               },
               currentReading = 0,
               unitModifier = 0,
               baseUnits = "",
               rateUnits = <unset>,
               sensorType = "Software Components"
            },

Agree with https://github.com/pryorda/vmware_exporter/issues/264#issuecomment-843755419
Here is an example of sensor info which contains ":" in its "name" field, it leads to this issue:
            (vim.host.NumericSensorInfo) {
               name = "VMware misc-cnic-register 1.78.75.v60.7-1vmw.6<IP_ADDRESS>4585 2015-02-06 02:37:02.000",
               healthState = (vim.ElementDescription) {
                  label = "Green",
                  summary = "Sensor is operating under normal conditions",
                  key = "green"
               },
               currentReading = 0,
               unitModifier = 0,
               baseUnits = "",
               rateUnits = <unset>,
               sensorType = "Software Components"
            },

I ran into the same issue and have made a pull request https://github.com/pryorda/vmware_exporter/pull/271

I ran into the same issues here pr https://github.com/pryorda/vmware_exporter/pull/271


xmb-xml issue

EXCEPTION C:\Users\JAI's gaming beast\AppData\Local\Packages\Microsoft.BulldogThreshold_8wekyb3d8bbwe\LocalState\backups\data\powers\unscunitcarpetbomb.power.xmb
System.ArgumentNullException: Buffer cannot be null.
Parameter name: buffer
at System.IO.MemoryStream..ctor(Byte[] buffer, Boolean writable)
at KSoft.Phoenix.Resource.ECF.EcfFileXmb.XmbToXml(EndianStream xmbStream, Stream outputStream, ProcessorSize vaSize)
at KSoft.Phoenix.Resource.ResourceUtils.XmbToXml(EndianStream xmbStream, Stream outputStream, ProcessorSize vaSize)
at PhxGui.MainWindowViewModel.XmlConverter.ConvertXmbToXml(String xmlFile, String xmbFile)
at PhxGui.MainWindowViewModel.XmlConverter.b__15_0(String f)
I try to  drag and drop .xmb file into the phxgui tool and the message above happens
I am hoping you can help thx

I'm having the same problem. I can't seem to figure it out.

Testing with the latest code, I'm not hitting this issue. Not sure when I'll upload new binaries next though.


[FEATURE REQUEST] Support LetsEncrypt for TLS certificates

Is your feature request related to a problem? Please describe.
Instead of needing to provide TLS certificates, it would be awesome if roadrunner supported Lets Encrypt.
Describe the solution you'd like
A configuration option to use Lets Encrypt for TLS.
Describe alternatives you've considered
Considering Caddy since it has built in TLS, but it lacks many of the features Roadrunner has.

@jasonmccallister Thanks for the proposal, I think this is a good idea because a lot of people use LetsEncrypt (myself especially). We will discuss it with @wolfy-j and put it on the roadmap :)

Fwiw, I think letsencrypt is out of scope for roadrunner because there are other solutions like caddy or cert-manager integrations for ingress if you're running in kubernetes.
Imo, trying to make roadrunner full blown server would decrease the focus on streamlining the bridge between Go and PHP (both literal IPC bridge and figurative: writing performant Go services and bridging from PHP).
Being able to run roadrunner locally without all the hassle with nginx is invaluable, but production needs are different and better left to tools specifically created to deal with it.

We are going to bring up better plugin system in 2.0 as well as other changes. It will make CERT generation and signature easier to alter, so for example you will be able to use LetsEncrypt.

Fwiw, I think letsencrypt is out of scope for roadrunner because there are other solutions like caddy or cert-manager integrations for ingress if you're running in kubernetes.
This is just a plugin, similar to a caddy plugin.

Imo, trying to make roadrunner full blown server would decrease the focus on streamlining the bridge between Go and PHP (both literal IPC bridge and figurative: writing performant Go services and bridging from PHP).
RR was designed as the bridge between Go and PHP. Implementing LE support does not change the focus and the main target of RR.

Being able to run roadrunner locally without all the hassle with nginx is invaluable, but production needs are different and better left to tools specifically created to deal with it.
As almost every module, LE can be turned off and removed from config if you don't need it. But can be safely used in production.
But, ok, let's discuss that proposal. And also, please, leave the thumbs up or thumbs down on the proposal comment to see, if the community really needs that feature.

I would love to see the PHP bridge part of Roadrunner available as a plugin for Caddy. https://caddyserver.com/docs/extending-caddy
I could envision a simple Caddyfile config looking like this:
example.com {
	root * /srv
	roadrunner "php worker.php"
	file_server
}

Where by default, the roadrunner directive would set up the try_files rewrites similar to the existing php_fastcgi directive, i.e. skipping static files so that file_server can serve them.

Hey @francislavoie, it's a pleasure to meet you. Thanks for the great software 👍🏻 We will definitely think about such a merge when we close our release to 2.0 migration 😄 Let's stay connected 🚀

Feature accepted, will be in the current sprint https://github.com/orgs/spiral/projects/2 (17 Aug - 14 Sept)


chore: add and sort workspace deps

Would have been nice to do the sorting in a separate commit, but great to move more deps to the workspace!

I thought about going back in and splitting that commit up but didn't feel like it was worth the time. Always trying to strike a balance between a clean commit history and efficiently utilizing my time. Apologies for the annoying review on this!


[MINOR] Added equals() method to Stamped

Please don't let analyzing this PR take away from actual working time. I did this in my spare time, it's not intended to take away from your working hours. It may well be that this is a non-issue.
As the title states: I added equals() method to Stamped.java because a class that implements Comparable should always have this.
This was pointed out to me by Intellij's code analysis, which warned that classes implementing Comparable should always implement both compareTo() and equals(). This is because an end-user can at some point add objects of that class to java.util.SortedSet. If the compareTo() and equals() implementations are not consistent, that would violate the contract of java.util.Set, which is defined in terms of equals().
findBugs also complained about PunctuationScheduler, a subclass of Stamped, nothing having equals, so I also implemented that.
The equals() in Stamped.java is written to be consistent with how the already-existing compareTo() works in that class. The hashCode() is autogenerated, with only the timestamp field, as that is the only one used by compareTo() and equals().
findBugs complained about PunctuationSchedule.java, a subclass of Stamped.java, also needing these methods if Stamped.java had them. So I had equals() and hashCode() auto-generated for them.
./gradlew test ran fine.

Thanks for the PR. As this is an internal class (it is package internals) it's not a issue as no user will ever see this or should use this class. \cc @guozhangwang @dguy

@mjsax Ah, okay. I saw the class was public, so I went on from there. My bad. Well, in that case: "if it ain't broke don't fix it", I would assume.


CMS_get1_{certs,crls}() behavior change and inconsistency with CMS_get0_signers() in OpenSSL 3.4

Before #18916 was merged, CMS_get1_{certs,crls}() would return NULL in the following cases:

The content type isn't signed or enveloped data (authenticated or not)
The optional CertificateChoices or RevocationInfoChoices ASN.1 field is absent
There are no X.509 Certificates or CertificateLists in said choices (other information may still be there, but inaccessible)
An allocation error occurred

The caller can exclude 1 by checking the type beforehand. However, options 2-4 were indistinguishable. Depending on the context, and on how strict one wants to be, the distinction between 2 and 3 doesn't matter. In the RPKI the distinction is relevant since the commonly chosen approach is to be as strict as possible (mainly limited by the leniency and brokenness of various ASN.1 parsers).
Now the API change allows distinguishing between 4 on the one hand and 2 and 3 on the other. This is an improvement. Except: it subtly changed behavior and broke a best-effort check for excluding 2 and 3 that resulted in (easy to fix) real-world breakage.
Another problematic aspect is that the API is now inconsistent with CMS_get0_signers() which returns NULL on error or on empty set of signerInfos, which is not an error since RFC 5652 states in section 5.1 that:
  signerInfos is a collection of per-signer information.  There MAY
  be any number of elements in the collection, including zero.

Thus, I'd be inclined to describe the old "suboptimal" behavior as broken and the new behavior as perhaps slightly less broken and inconsistent.
Another fun bit about CMS_get0_signers() is that the get0 is a hint at having to use sk_X509_free() as opposed to sk_X509_pop_free(), a trap which the documentation is silent about.
It is of course up to OpenSSL to decide how to proceed. I think the API in both the form it had prior to #18916, and in its current form, is unsalvageable and would therefore suggest deprecation. As a consequence, I would also suggest reverting the change and developing a replacement API that has no backward compatibility issues. This might also be a chance to accommodate support for attribute certificates in CMS...

OTC: Should the behavior change in 3.4.0 be reverted?

As I wrote here, for any API function,
it should not and cannot be the job of the caller to try and find out in advance or thereafter all error conditions that the function execution may suffer from. In particular since the internals of the function is allowed to change over time without notice.
This would work out only in case all its possible error conditions were documented and would be guaranteed not to change.
Yet this would place needless restrictions on the function implementers
and would be too much of a burden for all involved: with its implementation, documentation, and use.
In my view the type signature of the function CMS_get1_crls() and the like is okay (alternatives would have been a little awkward), but for sure its behavior in case of an empty set of crls was not great -
likely this was not by design, but by accident. Its suboptimal behavior got documented after the fact.
IMO, the new semantics is the best one can do here without changing the type signature of the function.
The only problem is that it is not fully backward compatible with the original suboptimal behavior.
And right, something should be done also on CMS_get0_signers().
Among others, as discussed here, its documentation does not correctly describe its suboptimal behavior on an empty set of signers:

CMS_get0_signers() returns all signers or NULL if an error occurred.

because in general (at least during construction of a CMS message, and maybe for unsigned messages) it can legitimately be empty. So this case should not be seen as an error at the level of this function.

In-band error signalling rarely works well in C and it gets really hairy when absence is an acceptable outcome. As mentioned, here you even have two forms of absence a caller might care about distinguishing.

it should not and cannot be the job of the caller

Yes, I agree. Hence my use of scare quotes around the word you seem to be fond of using, as that has the connotation of being somewhere in the vicinity of good.

alternatives would have been a little awkward

Hard to respond to since you don't say what alternatives you have considered. Something like
int CMS_get1_crls_ex(CMS_ContentInfo *cms, STACK_OF(X509_CRL) **crls);

would certainly work to signal errors via the return value and on success allow caller who care to distinguish 2 and 3 by returning NULL or an empty stack in crls.  If you're doing this right, callers can just do sk_X509_CRL_pop_free(crls, X509_CRL_free); on error or once they're done with crls. Similarly for certs and signers.
And yes, I agree there is room for improvement in the documentation. I even pointed it out.

I would also suggest reverting the change and developing a replacement API that has no backward compatibility issues.

I support this, i.e.,

reverting the changes regarding empty sets of crls/certs for backward compatibility,
fixing the documentation of CMS_get0_signers(), and
deprecating those functions while adding new ones with an improved API.

Thank you.

OTC: We will revert the behavior change of the CMS_get1_certs/crls() functions in master and 3.4 branches. We will add an internal call for replacement in 3.4 and a new public API call in 3.5.

Something like

int CMS_get1_crls_ex(CMS_ContentInfo *cms, STACK_OF(X509_CRL) **crls);

would certainly work to signal errors

Just beware that such a more complicated API can be more awkward an error-prone than expected.
In particular, an output parameter likecrls is tricky w.r.t. who is responsible to free the result.
In case of error, make sure that *crls does not contain a pointer to some leftover preliminary result,
to prevent mem leaks because callers would not assume to be responsible for freeing it on error.
Instead, on error it should be NULL, to prevent double-free by callers who wrongly assume to be responsible.

@t8m I just noticed that #fceeac4 already handles that problem correctly.
Yet there is an independent (already pre-existing) double-free case with ossl_cms_get1_crls_ex().


Issue template

Github allows us to create Issue Template so that later, user should provide necessary information (for example DBFlow version...)
If you're interested, please create a new one.

+1

Another thing that I think would be necessary to do is, create a chat room where we could compare in a more simple way.

in develop.


Add lacking test into dom util spec

#7435

I suggested the good tests in #7547 and we will keep going with that one


Flake8 fixes to get Travis build on master to pass

The Travis build on the master branch is failing due to 2 flake8 issues: https://travis-ci.org/github/mido/mido/jobs/560613600
mido/midifiles/meta.py:557:27: E201 whitespace after '('
mido/messages/messages.py:65:1: W293 blank line contains whitespace

This PR is just to address that so Travis is happy. This would be a bugfix bump. Let me know if there's anything I can do to assist with the review process.

EDIT: I notice PR #229 also includes these Flake8 fixes even though they're not relevant to the PR. Feel free to close this if that one gets merged before this one.

@olemb are you still an admin on this repo? If so, any chance you'd be willing to look at this?

@Pepper-Wood Thanks for these fixes! I don't remember changing those lines. It seems flake8 has gotten pickier while I've been away.
@duhaime  I am still admin. I've been away from the project for a while but I'm starting up again now.

I just wanted to click merge but am confused that it shows "files changed: 0" on top.

It fixed whitespace issues only. Maybe that's why they're not counted?


[SPARK-36874][SPARK-34634][SQL][3.1] ResolveReference.dedupRight should copy dataset_id tag to avoid ambiguous self join

What changes were proposed in this pull request?

This PR backports the change of SPARK-36874 (#34172) mainly, and SPARK-34634 (#31752) partially to care about the ambiguous self join for ScriptTransformation.
This PR fixes an issue that ambiguous self join can't be detected if the left and right DataFrame are swapped.
This is an example.
val df1 = Seq((1, 2, "A1"),(2, 1, "A2")).toDF("key1", "key2", "value")
val df2 = df1.filter($"value" === "A2")

df1.join(df2, df1("key1") === df2("key2")) // Ambiguous self join is detected and AnalysisException is thrown.

df2.join(df1, df1("key1") === df2("key2)) // Ambiguous self join is not detected.

The root cause seems that an inner function collectConflictPlans in ResolveReference.dedupRight. doesn't copy the dataset_id tag when it copies a LogicalPlan.
Why are the changes needed?

Bug fix.
Does this PR introduce any user-facing change?

No.
How was this patch tested?

New tests.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48423/

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/48423/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/143905/


Use round instead of int

Fixes https://github.com/leikoilja/ha-google-home/issues/359#issuecomment-947511583
Should we also round the float to less decimals?

@leikoilja Haha 😆 No problem


Refactor Lucene grammar

I set out to just inline the transformations that were in separate modules, but I discovered a lot more that could be refactored here:
I updated neotoma to the latest (and also bumped it upstream when dialyzer found some type bugs in it).
I removed a lot of the macro'd iolist_to_binary calls from the transformations. These are expensive when called repeatedly, as they cause lots of garbage to be created as new binaries are allocated to contain ones that already exist. I left the top-level one, assuming you wanted a straight binary from the parse result. See if you can remove that, as it shouldn't be needed if you are just sending the binary to a port later.
I cleaned up the field_range transformation so that it uses more minimal patterns. My eyes hurt the first time I read that transformation but the logic was simple. No more FIXME!
A bunch of the transformations just did a bunch of work to reinstate the original input string, these were changed to identity transformations. I assume this was from the previous dual-life of this grammar where it also produced data structures.
There are no more dialyzer bugs from neotoma! This allowed me to restore the original dialyzer target in concrete.mk.
The only part I'm unsure about is whether the presence of src/chef_lucene.peg will cause non-dev versions to blow up. I'm happy to fix that if so, given a little guidance.

This set of changes has been incorporated into chef/oc_erchef#117. The chef_index repo has been retired in favor of apps/chef_index in chef/oc_erchef.
Thanks @seancribbs for the work, you are truly a gentleman and scholar.


NEXT-3743: Fix inadequate entity definition resolving in Elasticsearch filter parsing that show when filtering for a translated field of a related entity is executed

1. Why is this change necessary?
If a filter is applied on an Elasticsearch query that uses a translated field of an entity that is related to the product entity, a RuntimeException is thrown in the getTranslatedFieldmethod of the EntityDefinitionQueryHelper.
The filter parsing uses the getField method of the EntityDefinitionQueryHelper to get the field even if the field name contains relations. The same is not done for the definition itself. As the root definition is passed to the value parsing this would mostly lead to a null return of the getField method, which is unexpected behavoir. However, if the field is TranslatedField, the getTranslatedField` method is called. This method only searches for the field in the fields of the passed translation (without deeper resolving). The field won't be found an an execption is thrown indicating that the property is missing.
2. What does this change do, exactly?
This change introduces a private getDefinition method in the CriteriaParser to resolve the definition over it's relations to a definition that actually contains the field. This method is called in the parseEqualsAnyFilter method, the parseEqualsFilter method and the parseRangeFilter method. The original definition will still be used for the query creation. If the field does not exist in the resolved entity, an exception is still thrown.
3. Describe each step to reproduce the issue or behaviour.
The bug only occurs on translated fields of entities that are related to the product entity. One example is the shortCode field in the unit entity. The exception will be thrown if a filter (equals, equals any or range) is applied to this field.
4. Please link to the relevant issues (if any).
https://github.com/shopware/shopware/issues/3743
5. Checklist

[x] I have rebased my changes to remove merge conflicts
[x] I have written tests and verified that they fail without my change
[x] I have created a changelog file with all necessary information about my changes
[ ] I have written or adjusted the documentation according to my changes
[ ] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfill them.

6. Related PR
There already is an open PR for this issue in SW 6.5. Because the code changed, I firstly created a branch and PR for 6.5. However, this is for SW 6.6. Fix was the same (I just improved it a little). Fix can be backported to SW 6.5 easily.

Hi @SpiGAndromeda
Thanks for your contribution 👍🏽
The change looks good to me, however did you check \Shopware\Core\Framework\DataAbstractionLayer\Dbal\EntityDefinitionQueryHelper::getAssociatedDefinition? it's seems to have the same functionality without private getDefinition method

Hi @SpiGAndromeda Thanks for your contribution 👍🏽 The change looks good to me, however did you check \Shopware\Core\Framework\DataAbstractionLayer\Dbal\EntityDefinitionQueryHelper::getAssociatedDefinition? it's seems to have the same functionality without private getDefinition method

You're absolutly right. I didn't know this method exists. I added to commit replacing my implementation with the existing one.
You'll sqash the commits on merging right?

Should I do the backport to 6.5? And if yes, how? Just a new branch? Are there any special requirements?

Hi @SpiGAndromeda
I'd be great if you can also create another PR for 6.5.x I guess the change is minimal, but the helper method is not exists on 6.5.x so you need to add it, and you probably need to manual tests (and unit tests) for with/without flag <IP_ADDRESS>?
Other than that, there's no other requirement

@vienthuong what about the issue in the changelog file. Should I use NEXT-37804 as well?

@SpiGAndromeda correct! and I minor note is it should be # Core instead of # Elasticsearch

@vienthuong created the new PR and linked this one there.


django-unpoly-4 Implement server side X-Up-Target for redirects

fixes #4

Codecov Report

Merging #5 (0849343) into main (76cc580) will not change coverage.
 Consider uploading reports for the commit f4c18a5 to get more accurate results

@@          Coverage Diff          @@
##            main      #5   +/-   ##
=====================================
  Coverage   0.00%   0.00%
=====================================
  Files          5       5
  Lines         56      81   +25
=====================================
- Misses        56      81   +25

Impacted Files
Coverage Δ

django_unpoly/middleware.py
0.00% <0.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 76cc580...f4c18a5. Read the comment docs.


Homebridge loading very slow on wifi

Hi,
My homebridge is working fine and all the accessories are working properly. However, the strange thing is that since a day or 2 both iOS Home and EVE are having issues with loading the accessories whilst on a my wifi connection. They keep "loading" for ages but in the end they do work. When I turn off wifi they are connected instantly.
I've checked my wifi connection and everything is up and running with full bandwidth (150 Mbps down, 15 up). I've also checked all the connected IP addresses and there are no duplicates what might cause the issue.
Any thoughts on this?

I installed HomeBridge just last night and immediately noted this behaviour. Prior to the install, my 30+ accessories would have their status updated immediately instead of being stuck on "Updating." Turning off Wifi, so the Home app uses LTE, immediately updates the status of all my accessories. If I'm out of the house and on another Wifi network, the status of all my accessories are updated without delay as well. The performance is affected only while using my home network's Wifi.

Do you both have a dedicated HomeKit server such as an Apple TV hardwired to your network router or using an iPad on a wireless connection? I too am facing similar slowness on an initial query after a long period of inactivity. I currently only have an iPad running homekit and interfaced with HomeBridge.
I run HomeBridge on a Windows 10 instance that reboots daily.

Hello!
I wanted to give an update on this.
I just installed a new Apple TV 4th Gen with an Ethernet only connection, no wifi. My homebridge server is on the same LAN as my Apple TV. I no longer have the "Updating" issues as before. Accessories now update immediately upon pulling up the iPhone card for homekit or the homekit app. Doesn't matter if my iPhone is on my home on wifi or on LTE. It just works now!
I removed everything from all ios devices, waited about 5 minutes and rebooted all ios devices.
I then setup the Apple TV to be a homekit hub and set it to never sleep. I re-added homebridge from my iPhone in the Homekit app and then the accessories showed up right after.
Siri works great now too.
I currently use a chamberlain garage door and Samsung tv modules in Homebridge. I will update this if anything changes moving forward.

Same issue here. Apple tv4 and homebridge server both connected via LAN. This started happenin a few weeks ago. :-(

Having the same issue.  It can take 60-120 seconds for Home to load accessories.  Dedicated Ubuntu running on separate VMServer. Using AppleTV  Gen 4 as Homekit server hardwired LAN.

Please check your plugins and make sure they responded the requests within a reasonable time.
Sent from my iPhone

On Mar 18, 2017, at 4:34 AM, burtamcgna<EMAIL_ADDRESS>wrote:
Having the same issue. It can take 60-120 seconds for Home to load accessories. Dedicated Ubuntu running on separate VMServer. Using AppleTV Gen 4 as Homekit server hardwired LAN.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

Its not the plugins, because over 3g/4g it loads in aboit 3 seconds. Via WLAN it takes about 10 seconds.

Huh ah I missed that part. In that case I'd suggest you run homebridge in debug mode using DEBUG=* homebridge and perform a read from your iOS device over WLAN and post the log here.

Any update on this? I too am having the issue of devices showing 'Updating' for a minute or two before showing their state. This happens on and off and isn't a constant problem, nonetheless its frustrating.
The logs indicate no errors

+1 here !

I was able to solve this issue by restarting my Apple TV Gen 4, YMMV

+1 here

Stale bot sucks...
+1, I’d one of devices is unresponsive, update can last for ages.

+1 Now I wait roughly 30 seconds for 20-30 accessories to update. Could the high number of accessories affect the Home app startup time?

Can anyone help me connect my raspberry on home bridge to Wi-Fi I have no idea how to do it the device does have built-in Wi-Fi

+1
waiting up to 50sec

+1 issue still exists today on newest homebridge update.

+1
Homekit accessories bridget (tuya accesories) over homebridge control wery slow. I am using Ipad for hub.


Cors origin configurable via environmental variable.

It would be nice to be able to modify the cors configuration to set the allowed origins via an environmental variable.
Even following the README to run the docker image locally will result in CORS errors as the origin http://localhost:8080 does not match the server's expected http://localhost:3000.
I might be missing something but I can't image how someone is running that image with a cloud provider without manually modifying the index.js as it is. Seems like it would be nice if you could use things out the box.

(All that said, you are a legend for OS all of these tools. Would love to help out in all the free time you're saving that would have been spent creating Foundry scenes for pre-written adventures!)

@astandley you should run it behind a proxy such as Caddy or ngnix. This should allow you to provide appropriate CORS requirements. That said I haven't had any problems running this locally, so it could be that something is configured incorrectly?
What did you set game.settings.set("ddb-importer", "api-endpoint", xxx) to?

Ah, right if they're running it behind behind proxy then the proxy is correcting the origin on the proxied request to the value the service expects.
I set it to "http://localhost:8080" since I had followed the docker instructions and mapped port 3000 to 8080. Fixing the mapping to 3000:3000 and using "http://localhost:3000" obviously works fine.

(Can't find the close button on mobile, but this can definitely be close as you are right that running it behind a proxy resolves the issue for non-local, and there's only issues running local if using docker with a different port mapping)

I'll update the instructions to remove the mapping to make sure no one else runs into it

Hey, as a creator of docker instruction, I'm sorry for this issue. I have opened a PR with fixed wording as well as mention of prebuilt image.


RFC bibxml should not specify document day

Compare
https://dev.bibxml.org/api/v1/ref/rfcs/RFC8126/?format=bibxml
and
https://xml2rfc.tools.ietf.org/public/rfc/bibxml-rfcs/reference.RFC.8126.xml
Note that the later does not claim day=1
RFCs are published with a Year and Month, but not a day*. Please remove day from this rendering for RFCs (day still makes sense for Internet-Drafts).
*April 1st RFCs are published with a day in the header, but to date, the bibxml for them does not contain the day. It is not a requirement for this project to put a day in the bibxml for April 1 RFCs, but we may choose to work on this ourselves as a future enhancement. Note that not all RFCs published on April 1 are April 1st RFCs.

Confirmed and will fix.

Closing since upstream source issue was closed.


Setup logging on CAPVCD installations

Towards: https://github.com/giantswarm/roadmap/issues/311
In order to expand our logging infrastructure coverage we should extend support to CAPVCD installations.
### Tasks
- [ ] https://github.com/giantswarm/telekom-panamax/issues/281
- [ ] https://github.com/giantswarm/giantswarm/issues/29177
- [ ] https://github.com/giantswarm/roadmap/issues/3189
- [ ] https://github.com/giantswarm/giantswarm/issues/29959
- [ ] https://github.com/giantswarm/giantswarm/issues/29385
- [ ] https://github.com/giantswarm/roadmap/issues/3166
- [ ] Enable Loki on Leopard
- [ ] https://github.com/giantswarm/roadmap/issues/3010

Promtail is currently having issues on CAPVCD https://github.com/giantswarm/giantswarm/issues/29385

We can access object storage with loki configured https://github.com/giantswarm/panamax-configs/tree/main/installations/leopard/apps/loki.
It looks like they are using minio as the minio style configuration we have defined https://github.com/giantswarm/loki-app/blob/869e6f207d75e737745320157b6b6d895ee4c3e3/sample_configs/values-eks-testing.yaml#L24 does the trick.
Now we are waiting for the bucket to be created by our customers

Loki is running fine on leopard, closing


Remove empty env var pairs in catalog

Description
If both the key and value of an environment variable is empty, do not save that as an env variable pair.
Currently the empty fields are saved and it appears as empty fields in capability view page.

Acceptance Criteria
Empty env variable are redacted / not saved.

Closing the issue as the feature requirement / scope has been changed.


Fix/cron

Fixes #3
Proposed Changes

start flag also starts cronjbo at creation.

Coverage remained the same at 100.0% when pulling f2bea0493bbf1dd7452a940ac1fe5454d1bec81f on fix/cron into 3fcc649aacf8ae2260da7a5e0fb59830fa6bf8f4 on master.


Implement interface support

Example:
foreign import "@wrapper run" run :: (Extends a Runnable) => Java a () -> Runnable

Essentially, we need something that converts a Java action to an interface implementation without burdening the programmer with defining implementations in Java. It'll allow one to easy implement things like event handlers with a Java action written in Haskell land.

This was extended to support implementing abstract classes as well.


Fix release tag push

Fixes: https://github.com/runtimeverification/evm-semantics/issues/1650

Evidence this works: https://github.com/runtimeverification/evm-semantics/actions/runs/4481952268

Evidence this works: https://github.com/runtimeverification/evm-semantics/actions/runs/4482478031/jobs/7880564475


Aminkt check access enhancement in create action

Q
A

Is bugfix?
yes

New feature?
no

Breaks BC?
yes

Tests pass?
Do not checked

Fixed issues
#22

https://github.com/yiisoft/yii-rest/tree/master/tests

https://phpunit.de/documentation.html

Can't be merged anymore. Closing.


bug 347826138 clean up the deprecated region attribute custom_attribte_filter_multi_attributes

Description
The new region tag has been previously added and updated in the documentation.
The old region tag can be now removed.
bug 347826138
Note: Before submitting a pull request, please open an issue for discussion if you are not associated with Google.
Checklist

[x] I have followed Sample Format Guide
[ ] pom.xml parent set to latest shared-configuration
[x] Appropriate changes to README are included in PR
[ ] These samples need a new API enabled in testing projects to pass (let us know which ones)
[ ] These samples need a new/updated env vars in testing projects set to pass (let us know which ones)
[x] Tests pass:   mvn clean verify required
[x] Lint  passes: mvn -P lint checkstyle:check required
[ ] Static Analysis:  mvn -P lint clean compile pmd:cpd-check spotbugs:check advisory only
[ ] This sample adds a new sample directory, and I updated the CODEOWNERS file with the codeowners for this sample
[ ] This sample adds a new Product API, and I updated the Blunderbuss issue/PR auto-assigner with the codeowners for this sample
[x] Please merge this PR for me once it is approved

confirmed that it's been updated for java. still in use for python and go which is why snippet-bot check is complaining.


Get 500 error when deleting default language from locale admin

Issue Summary
I get a 500 error when deleting the default language in locale admin.
Steps to Reproduce
Deleting the default language from the locale admin gives the following error:
Internal Server Error: /locales/1/delete/
Traceback (most recent call last):
  File "C:\Work\virtual_env\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
    response = get_response(request)
  File "C:\Work\virtual_env\lib\site-packages\django\core\handlers\base.py", line 179, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "C:\Work\virtual_env\lib\site-packages\django\views\decorators\cache.py", line 44, in _wrapped_view_func
    response = view_func(request, *args, **kwargs)
  File "C:\Work\virtual_env\lib\site-packages\wagtail\admin\urls\__init__.py", line 127, in wrapper
    return view_func(request, *args, **kwargs)
  File "C:\Work\virtual_env\lib\site-packages\wagtail\admin\auth.py", line 193, in decorated_view
    return view_func(request, *args, **kwargs)
  File "C:\Work\virtual_env\lib\site-packages\django\views\generic\base.py", line 70, in view
    return self.dispatch(request, *args, **kwargs)
  File "C:\Work\virtual_env\lib\site-packages\wagtail\admin\views\generic.py", line 45, in dispatch
    return super().dispatch(request, *args, **kwargs)
  File "C:\Work\virtual_env\lib\site-packages\django\views\generic\base.py", line 98, in dispatch
    return handler(request, *args, **kwargs)
  File "C:\Work\virtual_env\lib\site-packages\django\views\generic\edit.py", line 218, in post
    return self.delete(request, *args, **kwargs)
  File "C:\Work\virtual_env\lib\site-packages\wagtail_localize\locales\views.py", line 62, in delete
    return super().delete(request, *args, **kwargs)
  File "C:\Work\virtual_env\lib\site-packages\wagtail\admin\views\generic.py", line 242, in delete
    response = super().delete(request, *args, **kwargs)
  File "C:\Work\virtual_env\lib\site-packages\django\views\generic\edit.py", line 213, in delete
    self.object.delete()
  File "C:\Work\virtual_env\lib\site-packages\django\db\models\base.py", line 946, in delete
    collector.collect([self], keep_parents=keep_parents)
  File "C:\Work\virtual_env\lib\site-packages\django\db\models\deletion.py", line 308, in collect
    set(chain.from_iterable(protected_objects.values())),
django.db.models.deletion.ProtectedError: ("Cannot delete some instances of model 'Locale' because they are referenced through protected foreign keys: 'Page.locale'.", {<Page: Root>})

I expect wagtail to give a warning within the admin interface that this action cannot be executed.
Technical details

Python version: 3.7.6
Django version: 3.1.2
Wagtail version: 2.11.1

Hi @Warqus - thanks for the report.
I'm unable to replicate this by following these steps:

Start a new project with wagtail start myproject

Edit myproject/settings/base.py - add 'wagtail.locales', to INSTALLED_APPS and the following to the end of the file
WAGTAIL_I18N_ENABLED = False
WAGTAIL_CONTENT_LANGUAGES = LANGUAGES = [
    ('en', "English"),
    ('fr', "French"),
    ('es', "Spanish"),
]

Run ./manage.py migrate, ./manage.py createsuperuser and ./manage.py runserver

Log in to http://localhost:8000/admin/locales/, see language English with 1 page listed

Attempt to delete the English locale and receive the message: "This locale cannot be deleted because there are pages and/or other objects using it."

If you can provide full steps to replicate this, I'll be happy to investigate further.

Thanks for reacting. If you delete that one page, the error will appear when trying to delete the locale:

Thanks! That makes sense - the page tree in Wagtail has a root node that's usually hidden within the UI (for example, it's ignored in the page counts shown here) and can't be deleted. The locale on this node would be set to the default locale (LANGUAGE_CODE) that existed when the initial migrations were run, causing the error here.
@kaedroho What do you think is the best way of handling this case? I'm thinking:

don't allow deleting a locale if it's the only one
don't allow deleting a locale that is in use anywhere other than the root node (i.e. keep the current check as is)
when deleting the locale that is in use on the root node, silently reassign it to a different locale: preferably the one corresponding to the current LANGUAGE_CODE (if that exists and isn't the one being deleted), or else an arbitrarily chosen one (Locale.objects.exclude(id=locale_being_deleted).first())

Hey @gasman,
Yep, that sounds good to me!


Develop jit tutorial edits

Adds build instructions to the JIT tutorial

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (074a29e) 96.17% compared to head (5def946) 96.17%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #343   +/-   ##
=======================================
  Coverage   96.17%   96.17%
=======================================
  Files          37       37
  Lines        2794     2794
=======================================
  Hits         2687     2687
  Misses        107      107

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


[STORM-1339] Alias docs

Doc for aliases. This PR is general and not ChatOps specific but does liberally callout to ChatOps for example purposes.
This PR starts us off with having some docs for Action Alias. As we notice more behaviors and details or answer user question will add more content to the docs.

Nice

:+1:


Handle empty strings

Hi,
I noticed that the templating system seems to be having issues with empty strings (and other values resulting in if (value) evaluating to false) as parameter values:
parse('{{foo}}')({ foo: '' }) returns null (in fact, the defaultValue) instead of ''
I added a test for this edge case, and fixed it.
Tell me what you think 🙂
Cheers,
Flo

Released as https://github.com/datavis-tech/json-templates/releases/tag/v2.4.0

That was fast, thanks a lot!

I just realised I missed a semicolon at the end of this line. I'm not gonna open a new PR just for that, but next time you get around committing some changes... 😉

Fixed. Thanks! https://github.com/datavis-tech/json-templates/commit/d9cd78e71bdc8f189dba70ebdfc89093388ce05a


"Cannot find module" message should be more explicit, saying where it's looking

With all the vagaries around module loading, it'd be great to give a more verbose, helpful error message for "Cannot find module 'foo'", saying where the compiler looked for the module.   That can help clue the user into (1) how TypeScript works and (2) how to fix their issue.
The message text could be semi-static, maybe something like:   IF using commonjs loading AND path isn't relative THEN say "Couldn't find module Foo; searched node_modules directory off directory XXXX and its ancestors and the package.json Typings path YYYY.
Better doc around the module loading algorithm helps, but just putting some of that info in the error message makes it very easily discovered.   It also helps clue the user into what isn't the problem (e.g. the message above confirms that using commonjs module loading & found Typings in package.json, but something else seems to be the problem).

Would love to see a proposal/PR here. one constraint is it needs to work with the language service as well as with the compiler. the failed lookup locations are cached on the file in case of the compiler but not the language service. either ways any help would be appreciated.

Could someone maybe document here, or point to existing doc elsewhere, on the rules for where it looks (at least in the commonjs case).   That could be a good first step in turning those rules into a reasonably concise message.   I can help with the 2nd part, but less so with the 1st.   Thx.

The module resolvers will return a list of ResolvedModuleWithFailedLookupLocations objects, each has a file path and a set of locations where lookup failed, here is the definition: https://github.com/Microsoft/TypeScript/blob/master/src/compiler/types.ts#L2327
Here is the resolver for node modules, you can see how the failed lookup locations are populated: https://github.com/Microsoft/TypeScript/blob/master/src/compiler/program.ts#L50
The error is actually reported later on in the checker when the resolution of the module fails: https://github.com/Microsoft/TypeScript/blob/master/src/compiler/checker.ts#L1013
@vladima can advice on the best way to tackle the the language service part

We should consider a --verboseResolution option here.

We talked about with before. +1 for that

The module loading rules should also be documented (in precise English) in the TypeScript wiki/handbook, right?   And we don't really have that doc currently, correct?   Can someone on the TypeScript team fill that in.   Thanks.

That is correct. we need to add some more documentation on resolving references and imports. i logged an issue a while back: https://github.com/Microsoft/TypeScript-Handbook/issues/68
PRs for documentation, partial be it, are definitely appreciate it.
@vladima or myself can answer any specific questions you would have about how resolution work.

FWIW, I'd still love to see this doc & feature. Have the module loading rules been documented yet?

With nightly builds you can use 'traceModuleResolution' option to enable verbose logging of module resolution process.

I have added some documentation to the handbook about module resolution: https://github.com/Microsoft/TypeScript-Handbook/blob/release-2.0/pages/Module Resolution.md.
Check it out, and let me know if there is gaps that you would like to see filled.

I think you can write xx.d.ts file, within that you can write declare clause, and use reference in your xx.ts file. And you can read: http://www.typescriptlang.org/docs/handbook/modules.html#ambient-modules


openmq.py: mq_config not defined

I get the following exception:

Traceback (most recent call last):
File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
self.run()
File "/home/nuc/.homeassistant/deps/lib/python3.8/site-packages/tuya_iot/openmq.py", line 174, in run
time.sleep(self.mq_config.expire_time - 60)
AttributeError: 'NoneType' object has no attribute 'expire_time'

This is a common issue, can we update/catch the error and display a proper error message or give a log that hints how to fix the issue?

tuya/tuya-home-assistant#113 Check if "Device status notification" subscribed.

I have to buy that for $0. Do I need it if I don't have MQTT?


Make defined? spec compliant

There are probably lots of cases where this still fails and that the specs don't cover. Also I noticed an interesting bug with global regexp matches which is why we will have some NATFIXMEs in the spec.

I tried this one with the script of #1734, there are still some issues with the const-missing logic. This might have some deeper causes, and it's not blocking for this update, so see it as a FYI.

I tried this one with the script of #1734, there are still some issues with the const-missing logic. This might have some deeper causes, and it's not blocking for this update, so see it as a FYI.

Interesting, I can have a closer look into it. All in all defined? behaves quite weird so I wouldn't be suprised if there are more cases like this that are not covered in the defined_spec

The failing spec is just a few "This issue is fixed" NATFIXMEs 🎉

@richardboehme I took the liberty to push an extra commit to fix those last few issues with the specs, the branch should be ready to merge now.

@richardboehme I took the liberty to push an extra commit to fix those last few issues with the specs, the branch should be ready to merge now.

That's fine, thank you! I just haven't been at my computer yet 😅


AnimationMixer signal don't emit when using custom timeline and time scale stretch

Tested versions
v4.3.beta.custom_build [97b8ad1af0f2b4a216f6f1263bef4fbc69e56c7b]
System information
Windows 11 - Vulkan (Forward+)
Issue description
Animation nodes in state machines have a use_custom_timeline and a stretch_time_scale that lets scale the animation to a custom length.
However, it breaks the animation_finished signal. Depending on the custom length I set, it becomes frame-dependent emitting on a 160hz monitor but not on a 60hz when the values are close, eg original length 0.4667 and custom length 0.4, or it doesn't emit at all the higher the difference, which in my tests, a few decimal places lower or higher.
Steps to reproduce

In the MRP, "rotate_left" and "rotate_right" play and then transition to each other.
Run. It should be printing "Animation finished rotate_right" every time "rotate_right" finishes but it doesn't work.
Go to the state machine in the AnimationTree in "main.tscn", select the "rotate_right" animation node, and disable use_custom_timeline
The signal now works and it prints.

Minimal reproduction project (MRP)
animation-signals.zip

I think it is a floating point issue, similar to the problem I mentioned in https://github.com/godotengine/godot/pull/94420. For the code related to Animation, we may need a Math method for comparisons that takes into account the error of the double.


rclone获取token失败

2023/04/10 16:33:51 NOTICE: Config file "C:\Users\Administrator\AppData\Roaming\rclone\rclone.conf" not found - using defaults
2023/04/10 16:33:51 NOTICE: Make sure your Redirect URL is set to "http://localhost:53682/" in your custom config.
2023/04/10 16:33:51 NOTICE: If your browser doesn't open automatically go to the following link: http://<IP_ADDRESS>:53682/auth?state=F3rViIT4EQ4aRNf6fD6Vzw
2023/04/10 16:33:51 NOTICE: Log in and authorize rclone for access
2023/04/10 16:33:51 NOTICE: Waiting for code...
Error: config failed to refresh token: Error: Auth Error
Code: ""
Description: No code returned by remote server
Help:
Usage:
rclone authorize [flags]
Flags:
--auth-no-open-browser   Do not automatically open auth link in default browser
-h, --help                   help for authorize
--template string        The path to a custom Go template for generating HTML responses
Use "rclone [command] --help" for more information about a command.
Use "rclone help flags" for to see the global flags.
Use "rclone help backends" for a list of supported services.
2023/04/10 16:33:52 Fatal error: config failed to refresh token: Error: Auth Error
Code: ""
Description: No code returned by remote server
Help:
打开网页报错

多租户没选


[iOS] add caretHeight and caretYoffset to TextInput component #37147

Upstream PR Link

#37147
Summary

This PR adds support for the caretHeight and caretPosition properties in iOS multi-line TextInput.   Based on these values, we can calculate the caret position and height and adjust them in the appl so that the cursor does not overlap the previous line of text.
Changelog

[IOS] [ADDED] - caretHeight and caretPosition for multiline TextInput component
Test Plan

Default caret:
https://user-images.githubusercontent.com/19835085/236169989-54ddf4f7-6606-4b1c-b615-dab64fb2d948.mov
Caret with caretHeight and caretYOffsetadjustment:
https://user-images.githubusercontent.com/19835085/236170124-82b915ae-304e-426a-ba91-851c20954c7a.mov

Looking good so far, I'll test it out tomorrow.
Sorry missing track of these, can anyone mention me here so I can pin the notifications to keep track of it.

Looks great!
https://github.com/Expensify/react-native/assets/85645967/94583715-d6ed-4a46-a262-e7edf5833c60

Tested well, we can ignore the danger check here.
@OlimpiaZurek Can you update the base to be Expensify-0.71.2-alpha.4 to make this easier to deploy?

Please target ExpensifyRC1-0.72.0-alpha.0 as this is the version we plan to release. Thanks!

@OlimpiaZurek bump!

@OlimpiaZurek bump!

@alex-mechler Can you give a bump on any internal channels for callstack!

Actually, we might not need to, based on. https://expensify.slack.com/archives/C01GTK53T8Q/p1686159512184629. We are moving towards deprecating our fork of RN

FYI I have bumped the upstream PR with Meta

@AndrewGable Can you bump again?

@OlimpiaZurek - Can you fix the upstream PR's conflicts and then I can reach out again? Thanks.

Or @koko57 since you might have access to the fork? Thanks

Yes, I will take care of this tomorrow 😊

@AndrewGable all conflicts are resolved in the upstream PR, the target branch is changed here for ExpensifyRC1-0.72.0-alpha.0 and all conflicts here are resolved as well

@AndrewGable Still no review. Can you bump them again, thanks!


📎 Update Intellij plugin to support 2023.3

Description
The plugin works nicely with 2023.2.5, but needs updating for 2023.3 :+1:

Wasn't this fixed with the latest version?

Oh, right, I didn't notice that latest release, but I see it in my inbox yet! I guess it just hasn't made it to the JetBrains Marketplace yet then.

There a small delay when we release new versions of the plugin because JetBrains have a review/approval process
@ematipico is it approved by them?

Still under approval, in the meantime here is the direct link https://plugins.jetbrains.com/plugin/22761-biome/versions/stable/451195

Awesome, thanks 🎉 Love the tool, btw 😎


Can't load code from gists.

Neither the user-friendly URL nor the raw URL work.

Huh
... This is what I was trying when I reported that other loady bug.

That problem was fixed - that was loading JSON data from gists.  I think that still works.
Now that I see that there are other formats to gist URLs, I think that some gist JSON URLs might be broken too, but I'll fix all of it.


Safe class small changes

Made some small changes to the Safe class (mainly).
In the first commit I just moved some methods around without any real change but GitHub is unfortunately not able to compare the files properly.

I made some comments in the code, but make some here, too.

Removed check File.Exists before calling File.Delete as it's not ne…  …
…cessary

Actually I did that intentionally. It doesn't affect performance but improve readability. But in the end whatever, let's use simply File.Delete()

Moved properties to the top, followed by the constructor and the static methods.

Be careful with Resharper automated stuff.  I removed Resharper and was coding for 1 year without it. Just added it back recently.

Simplified the retrieval of wallets used for testing

I commented it inline.

removed unnecessary object creation in WalletFileserializer

Nice catch.

refactored the Safe.Load() method

I couldn't catch any difference. What do you mean?
I am picky with Safe related stuff, because:
The Safe is a pretty well-written class and the concept is fairly clear.
The Safe is already used.
The Safe's code is not messy.
The Safe has no bugs.

I won't be picky with not Safe-related stuff, because you are more experienced developer and it's full of inefficiencies, vague concepts and messy code. So as long as the tests are passing everything is fine.
Why is the SPV stuff is messy, you may ask?

The blockchain is hard to test, it's a slow database, nobody coded similar things before and I had to blind code it for 1 week without even compiling.
If we get to the point where my extensive tests are passing then we are good.
For now, since sending money is not implemented yet, the best I can do to test is getting history properly for confirmed blocks.
After sending money is implemented I can get back to test a lot more things I blind coded in the beginning.

Moved properties to the top, followed by the constructor and the static methods.

I did this manually, I haven't moved too many things, just a couple of properties, the constructor and the static methods.

refactored the Safe.Load() method

I just removed the creation of variables that were only used once, and move the assignment of some variables closer to where they're actually used. It just makes the code more readable sometimes :-) Otherwise I didn't change any functionality.

Why is the SPV stuff is messy, you may ask?

Is it? Haven't seen that yet.

you are more experienced developer

Not sure about that, but I know that programming on our own is quite hard so if you're happy for me to challenge you from time to time so that your library will be even better, then we're in a good position to make something even greater.

My new commits broke the existing saved datastructure. (AddressManager and HeaderChain files need not to be deleted, but the rest.)

closing this for now, will come back to it later.


API, DEPR: Raise and Deprecate Reshape for Pandas Objects

reshape largely exists for compat reasons with numpy but in the interests of moving away from that, this PR will cause objects like Series, Index, and Categorical to deprecate OR raise when such a method is called.

need these types of checks for Index as well. might as well combine the checks for Categorical,Index,Series (e.g. make a method to do it in core/base)

This is definitely a good idea :+1:

had a glance. don't think you are handling (-2, -1)?

@jreback : Sure thing.
@kawochen : Yikes, good catch.  Will fix.

@jreback : Actually, on second thought:

Index has no reshape method --> but is this PR the right place to add such a method (is it really necessary even?)
Series may not such checks IMO because it passes new_shape to its _values attribute for reshaping.  AFAICT that _values attribute is either ndarray (or sub-class) OR Categorical.  Seems like duplicate work to have it validate in Series and then have to validate again in _values.  Thoughts?

Index should have one (that should just raise), as will Series in the next release. So this is just a bandaid. Categorical should raise as well, its an unsupported method.

The raising should be for a separate PR, right?
My point was that I saw no reason to perform validation twice given what _values can be.  In light of your first point, I do agree that this is only a band-aid at best.

see my point above

Ah, okay, I see.  Let them all raise then.

@gfyoung but Series you can't change now as its technically an API change. however, would be ok with deprecating it now.

Shouldn't we do the same with Categorical then?

yes, didn't realize that .reshape was already defined.

Alrighty, so I'll deprecate for both Series and Categorical and add a method for Index that raises.

[Current coverage][cc-pull] is 83.91%

Merging [#13012][cc-pull] into [master][cc-base-branch] will decrease coverage by -0.00%

@@             master     #13012   diff @@
==========================================
  Files           136        136
  Lines         49918      49924     +6
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits          41886      41891     +5
- Misses         8032       8033     +1
  Partials          0          0

2 files (not in diff) in pandas were modified. more

Hits -10

Powered by Codecov. Last updated by 031590b
[cc-base-branch]: https://codecov.io/gh/pydata/pandas/branch/master?src=pr
[cc-pull]: https://codecov.io/gh/pydata/pandas/pull/13012?src=pr

@jreback : I've added deprecation and raising behaviour for Series, Index, and Categorical.  Travis gives a green light, so this is ready to merge if there is nothing else.

let's do this in 0.19.0

I pushed a v0.19.0 whatsnew (its not visible on doc-build), but there.

Thanks for letting me know!  Moved whatsnew comments to that doc.

@gfyoung Master is now targeted for 0.19.0? Can you rebase this (and move the whatsnew notes to the correct file)?

@jreback , @jorisvandenbossche : rebased and Travis is happy.  Ready to merge if there are no other concerns.

@jreback , @jorisvandenbossche : rebased onto master and Travis is happy.  Ready to merge if there are no other concerns.

@jreback : Made the requested changes, and Travis is happy.  Ready to merge if there are no other concerns.

needs a rebase; couple of minor doc fixes. ping when green. (also make sure that we are not triggering the warnign in the tests at all), e.g. run the tests and see if any warnings pop up (if they do then you need to fix the test code).

@jreback What is the reason of adding a Index.reshape that raises? That seems unnecessary to me (and only adds to the list of Index methods).
For people using Series.reshape (not sure why they would do it, but probably it is used in the wild), is Series.values.reshape the alternative they should use instead?
If so, maybe add to the depr message?

@jorisvandenbossche we dont technically need this on Index as the idea is to raise on Series/Categorical in the future. (it should have been added originally to Index).

@jreback , @jorisvandenbossche : Made requested doc changes (no need to run Travis on those, hence the [ci skip]), so ready to merge if there are no other concerns.

@jreback , @jorisvandenbossche : Made requested doc changes (no need to run Travis on those, hence the [ci skip]), so ready to merge if there are no other concerns.

@gfyoung See my comment from above: https://github.com/pydata/pandas/pull/13012#issuecomment-231687576

@jorisvandenbossche: Ah whoops, good point. Will do.

lgtm (minor doc comments). will need a rebase after #13147

@jreback : Made the requested doc changes, and Travis is passing.  Ready to merge if there are no other concerns.

thanks @gfyoung


Feature/add deterministic clusters

This is the public facing part of the k8s stack where prioritisation classes has been added.

We need to update https://github.com/secure-cloud-stack/secure-cloud-stack.github.io with new commit sha when this has been merged to main.


Build error:

Hi,
I'm trying to install this package with:
luarocks install --server=http://luarocks.org/dev torch-pcl
(I tried with luarocks install pcl but get "Error: No results matching query were found.")
but get this error:
In file included from /tmp/luarocks_torch-pcl-scm-1-1014/torch-pcl/src/generic.cpp:2:0,
from /tmp/luarocks_torch-pcl-scm-1-1014/torch-pcl/src/xyz.cpp:4:
/tmp/luarocks_torch-pcl-scm-1-1014/torch-pcl/src/generic/io.cpp: In function ‘int pcl_PointCloud_XYZ_loadOBJFile(pcl::PointCloudpcl::PointXYZ::Ptr*, const char*)’:
/tmp/luarocks_torch-pcl-scm-1-1014/torch-pcl/src/generic/io.cpp:30:12: error: ‘loadOBJFile’ is not a member of ‘pcl::io’
return pcl::io::loadOBJFile(fn, **self);
^
make[2]: *** [CMakeFiles/pcl.dir/src/xyz.cpp.o] Error 1
make[1]: *** [CMakeFiles/pcl.dir/all] Error 2
make: *** [all] Error 2
Error: Build error: Failed building.
Can you help me with this issue? Thanks a lot!

torch-pcl requires pcl-1.8. If it is not installed on your machine please consider getting the head version of the pcl and build form source.

Ah thanks a lot! It works:)


Issues when using with react-native-router-flux

Hello! I'm having some issues when u sing with react-native-router-flux
I think there are two critical points:

When a scene changes, componentWillUnmount is not called, therefore, the function to stop the subscription is not called and the subscription does not stop.
The Router is passing a lot of props to my components, so whenever I change routes, the function of all containers crated with komposer rerun because of props changes (I'm not sure about this, but I can confirm that they are rerunning because console.loging inside the composer function)

This is causing performance issues on my app as I navigate throught my routes
Any ideas on how to fix this ?
More detailed info:
RestaurantesContainer.jsx
function composer(props, onData) {
  console.log('--props on RestaurantesContainer---')
  console.log(props)
  const handle = Meteor.subscribe('restaurantes')
  const restaurantesFields = {
    fields: {
      logoUrl: 1,
      backgroundUrl: 1
    }
  }
  if (handle.ready()) {
    const restaurantes = Meteor.collection('restaurantes').find({}, restaurantesFields)
    onData(null, {
      restaurantes
    })
  }

  return () => handle.stop()
}

export default composeWithTracker(composer, Loading, Error)(RestaurantesList)

App.js
class App extends Component {
  render() {
    return (
        <Router>
          <Scene key="drawer" component={DrawerContainer} menuItems={menuItems}>
            <Scene key="root" navBar={NavBar}>
              <Scene
                initial={true}
                key="restaurantes"
                title="Restaurantes"
                component={RestaurantesContainer} />
          </Scene>
         </Scene>
       </Router>
     )
   }
}

Could you give a try for v2 of React Komposer?
We just released it. Check the README.


Make "index" available in options list elements

This PR resolves ticket https://github.com/shentao/vue-multiselect/issues/1248

All good. Thanks!

Hey @shentao will this feature be released any time soon? 🤔
Thanks!


Analyzer documentation does not explain package_root and pub.

The command-line dartanalyzer needs to be run with the current directory set to the main directory of a package, to analyze the package.  This is not explained anywhere in the documentation printed by the tool, or at dartdocs.org.
The command-line help says that the --package-root option is deprecated, and pub should work automatically, but the dartdocs.org info just uses the --package-root option.
There is no example given of using analyzer to analyze a program in a package.  The way that worked for me is:
cd tools/apps/update_homebrew
[build dir]/dart-sdk/bin/dartanalyzer bin/update_homebrew.dart

Closing for staleness.


CUDA Error: out of memory

hi, I trained one of my picture, and copied all files you mentioned, and then I got "CUDA Error: out of memory" error when I execute this command in darknet:
darknet detector train data/obj.data yolo-obj.cfg darknet19_448.conv.23
I assure that memory of my PC is sufficient. Any help will be thanked!

I changed the "subdivisions" to be 16 from 8, and error disappeared!

Hi, yes, you did the right thing - as described here: https://github.com/AlexeyAB/darknet#how-to-improve-object-detection

if error Out of memory occurs then in .cfg-file you should increase subdivisions=16, 32 or 64: link


gist:ContemporaneousEvent incorrect rdfs:comment

Comments says: "An event that actually started after the present time.  When we record an end time it ceases to be contemporaneous"
Isn't this incorrect to say it started after?  Isn't this supposed to be that it started before the current time, and is still ongoing?

Yeah, I think so. Good catch.

@rjyounes , bringing this back to our awareness.  Fix should just be changing comment to something like:
"An event that actually started before the present time.  When we record an end time it ceases to be contemporaneous."

I've put this on the June project to get it back on  our radar.
Comments:

I recommend changing the name altogether. Contemporaneous refers to TWO times that occur at the same time.  I have not seen any dictionary that defines it as contemporaneous with the current time without explicitly specifying that. How about CurrentEvent?
The contemporaneous event could have started before or at the current moment in time. (I guess this is a quibble since as soon as we've recorded that start time it's already in the past.)
The contemporaneous event ceases to be contemporaneous only if the recorded end time is before the current time. If it is a future time we would still refer to it as contemporaneous.

I've added some additional questions related to our Event class hierarchy in #489. We may want to consider these in tandem, or we may want to address this smaller issue first and the larger issues in #489 later.

DECISION: Change definition now, leave naming question till later. This may end up being removed due to lack of use.


Fix a typo of the interface name "ITrantision"

"ITrantision" --> "ITransition"
やれやれだぜ.

Pull-Request #50 has been closed.