[Native] Join query fails if using join on filter having join_key is null clause against the c++ worker

Bug description
Following query is supposed to succeed and produce results:
with t as (select orderkey from orders where custkey%5=1) select l.orderkey, l.partkey, l.quantity
from lineitem l left join t on
l.orderkey = t.orderkey and l.suppkey%5=1
where t.orderkey is null

But it fails with the following error against the c++ worker:
Caused by: VeloxRuntimeError: dictionaryIndices->size() >= length * sizeof(vector_size_t) (4096 vs. 4100) Malformed dictionary, index array is shorter than DictionaryVector
System information
Velox System Info v0.0.2
Commit: fb5afdc532f3248b49302a4bdf0dbe406903882b
CMake Version: 3.26.4
System: Darwin-22.4.0
Arch: x86_64
C++ Compiler: /Library/Developer/CommandLineTools/usr/bin/c++
C++ Compiler Version: <IP_ADDRESS>30022
C Compiler: /Library/Developer/CommandLineTools/usr/bin/cc
C Compiler Version: <IP_ADDRESS>30022
CMake Prefix Path: /Library/Developer/CommandLineTools/SDKs/MacOSX13.1.sdk/usr;/usr/local;/usr;/;/usr/local/Cellar/cmake/3.26.4;/usr/local;/usr/X11R6;/usr/pkg;/opt;/sw;/opt/local
Relevant logs
Here is the explain output for the query:
"- Output[orderkey, partkey, quantity] => [orderkey:bigint, partkey:bigint, quantity:double]
        Estimates: {source: CostBasedSourceInfo, rows: 60175 (1.55MB), cpu: 11494042.45, memory: 136.36, network: 3791161.36}
    - RemoteStreamingExchange[GATHER] => [orderkey:bigint, partkey:bigint, quantity:double]
            Estimates: {source: CostBasedSourceInfo, rows: 60175 (1.55MB), cpu: 11494042.45, memory: 136.36, network: 3791161.36}
        - FilterProject[filterPredicate = IS_NULL(orderkey_0), projectLocality = LOCAL] => [orderkey:bigint, partkey:bigint, quantity:double]
                Estimates: {source: CostBasedSourceInfo, rows: 60175 (1.55MB), cpu: 9869317.45, memory: 136.36, network: 2166436.36}/{source: CostBasedSourceInfo, rows: 60175 (1.55MB), cpu: 11494042.45, memory: 136.36, network: 2166436.36}
            - LeftJoin[(""orderkey"" = ""orderkey_0"") AND ((suppkey) % (BIGINT'5')) = (BIGINT'1')] => [orderkey:bigint, partkey:bigint, quantity:double, orderkey_0:bigint]
                    Estimates: {source: CostBasedSourceInfo, rows: 60176 (1.55MB), cpu: 8184381.45, memory: 136.36, network: 2166436.36}
                    Distribution: PARTITIONED
                - RemoteStreamingExchange[REPARTITION] => [orderkey:bigint, partkey:bigint, suppkey:bigint, quantity:double]
                        Estimates: {source: CostBasedSourceInfo, rows: 60175 (1.55MB), cpu: 4332600.00, memory: 0.00, network: 2166300.00}
                    - TableScan[TableHandle {connectorId='hive', connectorHandle='HiveTableHandle{schemaName=tpch, tableName=lineitem, analyzePartitionValues=Optional.empty}', layout='Optional[tpch.lineitem{}]'}] => [orderkey:bigint, partkey:bigint, suppkey:bigint, quantity:double]
                            Estimates: {source: CostBasedSourceInfo, rows: 60175 (1.55MB), cpu: 2166300.00, memory: 0.00, network: 0.00}
                            LAYOUT: tpch.lineitem{}
                            partkey := partkey:bigint:1:REGULAR (1:113)
                            suppkey := suppkey:bigint:2:REGULAR (1:113)
                            quantity := quantity:double:4:REGULAR (1:113)
                            orderkey := orderkey:bigint:0:REGULAR (1:113)
                - LocalExchange[HASH] (orderkey_0) => [orderkey_0:bigint]
                        Estimates: {source: CostBasedSourceInfo, rows: 15 (409B), cpu: 409.09, memory: 0.00, network: 136.36}
                    - RemoteStreamingExchange[REPARTITION] => [orderkey_0:bigint]
                            Estimates: {source: CostBasedSourceInfo, rows: 15 (409B), cpu: 272.73, memory: 0.00, network: 136.36}
                        - TableScan[TableHandle {connectorId='hive', connectorHandle='HiveTableHandle{schemaName=tpch, tableName=orders, analyzePartitionValues=Optional.empty}', layout='Optional[tpch.orders{filter=((custkey) % (BIGINT'5')) = (BIGINT'1')}]'}] => [orderkey_0:bigint]
                                Estimates: {source: CostBasedSourceInfo, rows: 15 (409B), cpu: 136.36, memory: 0.00, network: 0.00}
                                LAYOUT: tpch.orders{filter=((custkey) % (BIGINT'5')) = (BIGINT'1')}
                                orderkey_0 := orderkey:bigint:0:REGULAR (1:41)
"

@karteekmurthys : Since you have been looking at join issues. But I think this one is HashJoin.

I couldn't reproduce this issue e2e:
presto:tpch> with t as (select orderkey from orders where custkey%5=1) select l.orderkey, l.partkey, l.quantity from lineitem l left join t on l.orderkey = t.orderkey and l.suppkey%5=1 where t.orderkey is null;
 orderkey | partkey | quantity
----------+---------+----------
    36001 |    1551 |     30.0
    36001 |     499 |     48.0
    36001 |     277 |     25.0
    36001 |    1343 |      3.0
    36001 |    1304 |     11.0
    36001 |    1976 |     21.0
    36001 |     526 |     37.0
    36002 |    1534 |     31.0
    36002 |    1582 |     12.0
    36002 |     234 |     18.0
    36002 |     178 |      6.0
    36003 |    1059 |     25.0
    36003 |    1435 |     19.0
    36004 |     987 |     34.0
    36004 |    1844 |     26.0
    36004 |    1617 |      6.0
    36005 |     676 |     49.0
    36005 |    1095 |     37.0
    36005 |    1163 |     11.0
    36005 |    1475 |     18.0

I am able to repro this when I run the e2e test through HiveQueryRunner but not while manually running the query after spinning up Presto and prestissimo.
	Stage execution 20230814_155115_00002_g29yd.1.0 failed
VeloxRuntimeError: dictionaryIndices->size() >= length * sizeof(vector_size_t) (4096 vs. 4100) Malformed dictionary, index array is shorter than DictionaryVector
	at Unknown.# 0  (Unknown Source)

Here is the stack trace:
facebook::velox::DictionaryVector<long long>::DictionaryVector(facebook::velox::memory::MemoryPool *, boost::intrusive_ptr<facebook::velox::Buffer>, unsigned long, std::shared_ptr<facebook::velox::BaseVector>, boost::intrusive_ptr<facebook::velox::Buffer>, const facebook::velox::SimpleVectorStats<long long> &, std::optional<int>, std::optional<int>, std::optional<bool>, std::optional<int>, std::optional<int>) DictionaryVector-inl.h:108
facebook::velox::DictionaryVector<long long>::DictionaryVector(facebook::velox::memory::MemoryPool *, boost::intrusive_ptr<facebook::velox::Buffer>, unsigned long, std::shared_ptr<facebook::velox::BaseVector>, boost::intrusive_ptr<facebook::velox::Buffer>, const facebook::velox::SimpleVectorStats<long long> &, std::optional<int>, std::optional<int>, std::optional<bool>, std::optional<int>, std::optional<int>) DictionaryVector-inl.h:104
std::__shared_ptr_emplace<facebook::velox::DictionaryVector<long long>, std::allocator<facebook::velox::DictionaryVector<long long> > >::__shared_ptr_emplace<facebook::velox::memory::MemoryPool *&, boost::intrusive_ptr<facebook::velox::Buffer> &, unsigned long &, std::shared_ptr<facebook::velox::BaseVector>, boost::intrusive_ptr<facebook::velox::Buffer> >(std::allocator<facebook::velox::DictionaryVector<long long> >, facebook::velox::memory::MemoryPool *&, boost::intrusive_ptr<facebook::velox::Buffer> &, unsigned long &, std::shared_ptr<facebook::velox::BaseVector> &&, boost::intrusive_ptr<facebook::velox::Buffer> &&) shared_ptr.h:298
std::__shared_ptr_emplace<facebook::velox::DictionaryVector<long long>, std::allocator<facebook::velox::DictionaryVector<long long> > >::__shared_ptr_emplace<facebook::velox::memory::MemoryPool *&, boost::intrusive_ptr<facebook::velox::Buffer> &, unsigned long &, std::shared_ptr<facebook::velox::BaseVector>, boost::intrusive_ptr<facebook::velox::Buffer> >(std::allocator<facebook::velox::DictionaryVector<long long> >, facebook::velox::memory::MemoryPool *&, boost::intrusive_ptr<facebook::velox::Buffer> &, unsigned long &, std::shared_ptr<facebook::velox::BaseVector> &&, boost::intrusive_ptr<facebook::velox::Buffer> &&) shared_ptr.h:292
std::allocate_shared<facebook::velox::DictionaryVector<long long>, std::allocator<facebook::velox::DictionaryVector<long long> >, facebook::velox::memory::MemoryPool *&, boost::intrusive_ptr<facebook::velox::Buffer> &, unsigned long &, std::shared_ptr<facebook::velox::BaseVector>, boost::intrusive_ptr<facebook::velox::Buffer>, void>(const std::allocator<facebook::velox::DictionaryVector<long long> > &, facebook::velox::memory::MemoryPool *&, boost::intrusive_ptr<facebook::velox::Buffer> &, unsigned long &, std::shared_ptr<facebook::velox::BaseVector> &&, boost::intrusive_ptr<facebook::velox::Buffer> &&) shared_ptr.h:1106
std::make_shared<facebook::velox::DictionaryVector<long long>, facebook::velox::memory::MemoryPool *&, boost::intrusive_ptr<facebook::velox::Buffer> &, unsigned long &, std::shared_ptr<facebook::velox::BaseVector>, boost::intrusive_ptr<facebook::velox::Buffer>, void>(facebook::velox::memory::MemoryPool *&, boost::intrusive_ptr<facebook::velox::Buffer> &, unsigned long &, std::shared_ptr<facebook::velox::BaseVector> &&, boost::intrusive_ptr<facebook::velox::Buffer> &&) shared_ptr.h:1115
facebook::velox::addDictionary<(facebook::velox::TypeKind)4>(boost::intrusive_ptr<facebook::velox::Buffer>, boost::intrusive_ptr<facebook::velox::Buffer>, unsigned long, std::shared_ptr<facebook::velox::BaseVector>) BaseVector.cpp:123
<lambda>::operator()() const BaseVector.cpp:144
$_0::operator()() const BaseVector.cpp:144
facebook::velox::BaseVector::wrapInDictionary(boost::intrusive_ptr<facebook::velox::Buffer>, boost::intrusive_ptr<facebook::velox::Buffer>, int, std::shared_ptr<facebook::velox::BaseVector>) BaseVector.cpp:144
facebook::velox::exec::wrapChild(int, boost::intrusive_ptr<facebook::velox::Buffer>, const std::shared_ptr<facebook::velox::BaseVector> &, boost::intrusive_ptr<facebook::velox::Buffer>) OperatorUtils.cpp:266
facebook::velox::exec::HashProbe::fillOutput(int) HashProbe.cpp:696
facebook::velox::exec::HashProbe::getOutput() HashProbe.cpp:956
facebook::velox::exec::Driver::runInternal(std::shared_ptr<facebook::velox::exec::Driver> &, std::shared_ptr<facebook::velox::exec::BlockingState> &, std::shared_ptr<facebook::velox::RowVector> &) Driver.cpp:425
facebook::velox::exec::Driver::run(std::shared_ptr<facebook::velox::exec::Driver>) Driver.cpp:554
$_1::operator()() const Driver.cpp:206
folly::detail::function::FunctionTraits<void ()>::callSmall<$_1>(folly::detail::function::Data &) Function.h:346
folly::detail::function::FunctionTraits<void ()>::operator()() Function.h:375
[Inlined] void folly::catch_exception<folly::Function<void ()>&, void (&)(char const*) noexcept, char const*&, void>(folly::Function<void ()>&, void (&)(char const*) noexcept, char const*&) Exception.h:285
[Inlined] folly::Executor::invokeCatchingExns<folly::Function<void ()> >(const char *, folly::Function<void ()>) Executor.h:234
folly::ThreadPoolExecutor::runTask(const std::shared_ptr<folly::ThreadPoolExecutor::Thread> &, folly::ThreadPoolExecutor::Task &&) ThreadPoolExecutor.cpp:100
folly::CPUThreadPoolExecutor::threadRun(std::shared_ptr<folly::ThreadPoolExecutor::Thread>) CPUThreadPoolExecutor.cpp:326
std::__invoke<void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor *&, std::shared_ptr<folly::ThreadPoolExecutor::Thread> &, void>(void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor *&, std::shared_ptr<folly::ThreadPoolExecutor::Thread> &) type_traits:3859
std::__apply_functor<void (folly::ThreadPoolExecutor::*)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), std::tuple<folly::ThreadPoolExecutor *, std::shared_ptr<folly::ThreadPoolExecutor::Thread> >, 0ul, 1ul, std::tuple<> >(void (folly::ThreadPoolExecutor::*&)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), std::tuple<folly::ThreadPoolExecutor *, std::shared_ptr<folly::ThreadPoolExecutor::Thread> > &, std::__tuple_indices<0ul, 1ul>, std::tuple<> &&) bind.h:257
std::__bind<void (folly::ThreadPoolExecutor::*)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor *, std::shared_ptr<folly::ThreadPoolExecutor::Thread> &>::operator()<>() bind.h:292
folly::detail::function::FunctionTraits<void ()>::callSmall<std::__bind<void (folly::ThreadPoolExecutor::*)(std::shared_ptr<folly::ThreadPoolExecutor::Thread>), folly::ThreadPoolExecutor *, std::shared_ptr<folly::ThreadPoolExecutor::Thread> &> >(folly::detail::function::Data &) Function.h:346
folly::detail::function::FunctionTraits<void ()>::operator()() Function.h:375
<lambda>::operator()() NamedThreadFactory.h:40
decltype(static_cast<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()>(fp)()) std::__1::__invoke<folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()>(folly::NamedThreadFactory::newThread(folly::Function<void ()>&&)::'lambda'()&&) type_traits:3918
std::__thread_execute<std::unique_ptr<std::__thread_struct>, <lambda> >(std::tuple<std::unique_ptr<std::__thread_struct>, <lambda> > &, std::__tuple_indices<>) thread:287
std::__thread_proxy<std::tuple<std::unique_ptr<std::__thread_struct>, <lambda> > >(void *) thread:298
_pthread_start 0x00000001966bffa8

This is a snapshot of variables when the control is at the end of HashProbe::evalFilter() call.
After evaluating the filter the numOutput is changed from 1024 to 1025 > (outputBatchSize). The final dictionary size is 1025 but the outputRowMapping is of size 1024 * 4. This causes the above exception. Need to further understand what is happening in evalFilter.
RowVectorPtr HashProbe::getOutput() {
.
.
 VELOX_CHECK_LE(numOut, outputTableRows_.size()); --> numOut is 1024

    numOut = evalFilter(numOut); -----> numOut is 1025 > outputBatchSize_

    if (!numOut) {
      continue;
    }
.
.

This loop must be analyzed further in evalFilter()
  auto addMiss = [&](auto row) {
      outputTableRows_[numPassed] = nullptr;
      rawOutputProbeRowMapping[numPassed++] = row;
    };
    for (auto i = 0; i < numRows; ++i) {
      const bool passed = filterPassed(i);
      noMatchDetector_.advance(rawOutputProbeRowMapping[i], passed, addMiss);
      if (passed) {
        outputTableRows_[numPassed] = outputTableRows_[i];
        rawOutputProbeRowMapping[numPassed++] = rawOutputProbeRowMapping[i];
      }
    }
    if (results_.atEnd()) {
      noMatchDetector_.finish(addMiss);
    }

After this for-loop, the values of numRows = 1024 and numPassed = 1023. Then, we need to check the condition if (results_.atEnd()) and it behavior. Probably, this condition is calling function addMiss() and incrementing the value of numPassed to 1024 then 1025.

@karteekmurthys - I am getting this error while trying to debug the code via VSCode. Any config update that can resolve this issue?
presto:tpch> with t as (select orderkey from orders where custkey%5=1) select l.orderkey, l.partkey, l.quantity from lineitem l left join t on l.orderkey = t.orderkey and l.suppkey%5=1 where t.orderkey is null;

Query 20230830_140359_00004_pbk4n, FAILED, 1 node
Splits: 16 total, 6 done (37.50%)
[Latency: client-side: 0:50, server-side: 0:50] [15K rows, 64.7KB] [302 rows/s, 1.3KB/s]

Query 20230830_140359_00004_pbk4n failed:  Failed to fetch data from <IP_ADDRESS>:7777 /v1/task/20230830_140359_00004_pbk4n.<IP_ADDRESS>/results/0/0 - Exhausted retries: ingress timeout, streamID=1

@Krishna-Prasad-P-V Can you confirm that your worker is up and running? Try to repro through a test by HiveQueryRunner. I didn't have much success while running e2e.

I could see the value of numPassed to be 1023 at the end of control of function evalFilter. Attaching the screenshot for future reference.

Need to refer - https://facebookincubator.github.io/velox/develop/debugging/vector-saver.html?highlight=dictionaryindices+size+length+sizeof

This same query on changing the join condition by taking l.suppkey%5=1 as a where clause, gives the correct result.
with t as (select orderkey from orders where custkey%5
=1) select l.orderkey, l.partkey, l.quantity from lineitem l left join t on
 l.orderkey = t.orderkey where l.suppkey%5=1 and t.orderkey is null;
.....
.....
(9753 rows)

Query 20230901_145758_00016_dah8t, FINISHED, 1 node
Splits: 15 total, 15 done (100.00%)
[Latency: client-side: 351ms, server-side: 315ms] [75.2K rows, 374KB] [239K rows/s, 1.16MB/s]

========

presto:tpch> explain with t as (select orderkey from orders where custkey%5=1) select l.orderkey, l.partkey, l.quantity from lineitem l left join t on l.orderkey = t.orderkey where l.suppkey%5=1 and t.orderkey is null;
                                                                                Query P>
--------------------------------------------------------------------------------------------------------------------------------------------------------------->
 - Output[orderkey, partkey, quantity] => [orderkey:bigint, partkey:bigint, quantity:double]                                                                   >
         Estimates: {rows: ? (?), cpu: ?, memory: 136.36, network: ?}                                                                                >
     - RemoteStreamingExchange[GATHER] => [orderkey:bigint, partkey:bigint, quantity:double]                                                                   >
             Estimates: {rows: ? (?), cpu: ?, memory: 136.36, network: ?}                                                                                >
         - FilterProject[filterPredicate = not(COALESCE(semijoinoutput, BOOLEAN'false')), projectLocality = LOCAL] => [orderkey:bigint, partkey:bigint, quantit>
                 Estimates: {rows: ? (?), cpu: 84052.34, memory: 136.36, network: 16383.61}/{rows: ? (?), cpu: ?, memory: 136.36, network: 16383.61}           >
             - SemiJoin[orderkey = orderkey_0] => [orderkey:bigint, partkey:bigint, quantity:double, semijoinoutput:boolean]                                   >
                     Estimates: {rows: 602 (15.87kB), cpu: 66601.59, memory: 136.36, network: 16383.61}                                                        >
                     Distribution: PARTITIONED                                                                                >
                 - RemoteStreamingExchange[REPARTITION] => [orderkey:bigint, partkey:bigint, quantity:double]                                                  >
                         Estimates: {rows: 602 (15.87kB), cpu: 32494.50, memory: 0.00, network: 16247.25}                                                      >
                     - TableScan[TableHandle {connectorId='hive', connectorHandle='HiveTableHandle{schemaName=tpch, tableName=lineitem, analyzePartitionValues=>
                             Estimates: {rows: 602 (15.87kB), cpu: 16247.25, memory: 0.00, network: 0.00}                                                      >
                             LAYOUT: tpch.lineitem{filter=(BIGINT'1') = ((suppkey) % (BIGINT'5'))}                                                             >
                             quantity := quantity:double:4:REGULAR (1:113)                                                                                >
                             orderkey := orderkey:bigint:0:REGULAR (1:113)                                                                                >
                             partkey := partkey:bigint:1:REGULAR (1:113)                                                                                >
                 - LocalExchange[SINGLE] () => [orderkey_0:bigint]                                                                                >
                         Estimates: {rows: 15 (409B), cpu: 272.73, memory: 0.00, network: 136.36}                                                              >
                     - RemoteStreamingExchange[REPARTITION - REPLICATE NULLS AND ANY] => [orderkey_0:bigint]                                                   >
                             Estimates: {rows: 15 (409B), cpu: 272.73, memory: 0.00, network: 136.36}                                                          >
                         - TableScan[TableHandle {connectorId='hive', connectorHandle='HiveTableHandle{schemaName=tpch, tableName=orders, analyzePartitionValue>
                                 Estimates: {rows: 15 (409B), cpu: 136.36, memory: 0.00, network: 0.00}                                                        >
                                 LAYOUT: tpch.orders{filter=((custkey) % (BIGINT'5')) = (BIGINT'1')}                                                           >
                                 orderkey_0 := orderkey:bigint:0:REGULAR (1:41)                                                                                >
                                                                                >
(1 row)

Technically, we should be getting complete records from the lineitem table (60k+ records) as there are no rows which the filter can be applied to with the join table t and the join conditions provided. It should add NULLs for the column accessed by this table in query.
presto:tpch> select count(orderkey) from orders where custkey%5=1;
 _col0
-------
  3000
(1 row)

Query 20230904_100716_00020_jmnxf, FINISHED, 1 node
Splits: 5 total, 5 done (100.00%)
[Latency: client-side: 217ms, server-side: 204ms] [15K rows, 63.5KB] [73.5K rows/s, 311KB/s]

presto:tpch> with t as (select orderkey from orders where custkey%5=1) sele
ct * from t where t.orderkey is NULL;
 orderkey
----------
(0 rows)

Query 20230904_100939_00022_jmnxf, FINISHED, 1 node
Splits: 5 total, 5 done (100.00%)
[Latency: client-side: 216ms, server-side: 187ms] [0 rows, 2.17KB] [0 rows/s, 11.6KB/s]

presto:tpch> select count(*) from lineitem;
 _col0
-------
 60175
(1 row)

Query 20230904_100957_00023_jmnxf, FINISHED, 1 node
Splits: 9 total, 9 done (100.00%)
[Latency: client-side: 270ms, server-side: 259ms] [60.2K rows, 14.8KB] [232K rows/s, 57KB/s]

@karteekmurthys - Could you please review this PR (https://github.com/facebookincubator/velox/pull/6514)? I have a fix there. The logic for NoMatchDetector::advance() has slightly been changed.

For one batch of input, the value of numPassed is getting incremented at the first row/iteration itself. This should not happen because this filter/passed value of this row is false. Technically, it should be added in the next iteration via noMatchDetector_.advance() function as it was a row that didn't satisfy the filter.
Attaching a screenshot. In this screenshot, look for the variable itrChecker which the first as the numPassed value and second as the filter state of the row. Since it is false for that current row, we shouldn't have incremented the value of numPassed from 0 to 1, but anyhow that happened.

@Krishna-Prasad-P-V - There are few other queries in the following test. It would be good to run these queries against your fix.
presto-tests/src/main/java/com/facebook/presto/tests/AbstractTestQueries.java::testLeftJoinNullFilterToSemiJoin()

For each input batch, if the previous batch has a row which is not passed, it resides in NoMatchDetector.currentRow and NoMatchDetector.currentRowPassed. Once the new batch comes in and say it has all the rows with filter true. Then, we are talking about n rows + 1 row (from the previous batch).
For example, if the new batch with all rows has filter passed = true and it has 1024 rows. Every loop iteration will add the input to outputTableRows_[i]. But if the last row from the previous batch didn't have a pass i.,e filter = false, then it resides in NoMatchDetector variables. So this residing row is processed when this new batch comes in, and in the first iteration we get this residing row (currentRow) to get added with NULLs with row from this batch (row). So it becomes 1 + 1024 at the end of this for loop and causes assertion failure.

@karteekmurthys - I have explained the issue (above comment) based on debugging. Let me know if this makes sense here. Thanks.

So this residing row is processed when this new batch comes in, and in the first iteration we get this residing row (currentRow) to get added with NULLs with row from this batch (row). So it becomes 1 + 1024 at the end of this for loop and causes assertion failure.

After the for loop, the last row which didn't pass must be processed here right?
 if (results_.atEnd()) {
      noMatchDetector_.finish(addMiss);
    }

I tried logging in detail for more to learn what happens when numPassed > numRows in evalFilter(). The underlying issue surfaces when we log the state of rawOutputProbeRowMapping after the rewrite. In evalFilter(), we rewrite the existing output to copy the row numbers that passed the filter and for those didn't pass the filter we copy it only once and the corresponding right hand side is marked NULL. But, the logic that does this corrupts the rawOutputProbeRowMapping.
Evalfilter final batch processing logs:
1140247 HashProbe.cpp:1173] HashProbe::evalFilter Start 1024 3071 0 <- numRows currentRow currentRowPassed
1140247 HashProbe.cpp:1212] HashProbe::evalFilter Before 3072 1 <- rawOutputProbeRowMapping[0]
1140247 HashProbe.cpp:1212] HashProbe::evalFilter Before 3073 0 <- rawOutputProbeRowMapping[1]
1140247 HashProbe.cpp:1212] HashProbe::evalFilter Before 3074 1 <- rawOutputProbeRowMapping[2]
1140247 HashProbe.cpp:1212] HashProbe::evalFilter Before 3075 0 <- rawOutputProbeRowMapping[3]
1140247 HashProbe.cpp:1212] HashProbe::evalFilter Before 3076 0 <- rawOutputProbeRowMapping[4]
.
.

After the rewrite, the rawOutputProbeRowMapping is filled with the noMatchDetector_.currentRow value from previous batch.
HashProbe::evalFilter after 3071 1
1140247 HashProbe.cpp:1234] HashProbe::evalFilter after 3071 1
1140247 HashProbe.cpp:1234] HashProbe::evalFilter after 3071 1
1140247 HashProbe.cpp:1234] HashProbe::evalFilter after 3071 1
1140247 HashProbe.cpp:1234] HashProbe::evalFilter after 3071 1
1140247 HashProbe.cpp:1234] HashProbe::evalFilter after 3071 1
1140247 HashProbe.cpp:1234] HashProbe::evalFilter after 3071 1
1140247 HashProbe.cpp:1234] HashProbe::evalFilter after 3071 1
1140247 HashProbe.cpp:1234] HashProbe::evalFilter after 3071 1
1140247 HashProbe.cpp:1234] HashProbe::evalFilter after 3071 1

I am working on simple test to repro this in Velox.
@mbasmanova @aditi-pandit

@Krishna-Prasad-P-V - There are few other queries in the following test. It would be good to run these queries against your fix. presto-tests/src/main/java/com/facebook/presto/tests/AbstractTestQueries.java::testLeftJoinNullFilterToSemiJoin()

I have ran all these queries mentioned here. It worked with my latest fix. No errors found.

https://github.com/facebookincubator/velox/pull/6604/files# Reproducible velox test.

@kevinwilfong , @mbasmanova


Update a documentation about annotation filters

My actions before raising this issue

[x] Read/searched the docs
[x] Searched past issues

Recently we have merged new implementation of annotation filters #2871.
Now it uses UI components instead of raw string. Need to actualize the user guide.

@aschernov, could your team please prepare a PR with documentation about the feature?

It was resolved by the PR above.


Misc doc changes

Besides other documentation changes, this commit ensures the generated
HTML doc for HexDocs.pm will become the source of truth for this Elixir
library and leverage on latest features of ExDoc.

@bryanjos Any updates on this?

@kianmeng thank you for this! These look great


edited locale to be 8 characters max

Added this to allow for longer locales such as:
shi-Tfng
zh-hant
zh-hans

I'm sorry but your pull request breaks the tests.

Is there a reason to not allow locales longer than 6 characters?

Locales allow up to 10 chars.

Why not allow 10 characters then?


UI test failure in mapping-management.service.spec.ts

Not sure why PR check didn't pick this up - seems just a parameter adjustment in the test. @AbbassFaytaroony can you fix this?

[INFO] ERROR in src/app/lib/atlasmap-data-mapper/services/mapping-management.service.spec.ts(58,33): error TS2554: Expected 1 arguments, but got 0.
[INFO] src/app/lib/atlasmap-data-mapper/services/mapping-management.service.spec.ts(94,33): error TS2554: Expected 1 arguments, but got 0.
[INFO] src/app/lib/atlasmap-data-mapper/services/mapping-management.service.spec.ts(126,33): error TS2554: Expected 1 arguments, but got 0.

GitHub shows it's midnight for you - I'm gonna fix


Propogate orienteer.properties to OrientDB

Implemented here: https://github.com/OrienteerDW/Orienteer/commit/c85fab63e46af95797f8d1b904f1324c0cb9edf2


Suggestion: custom image viewer support option

At now in you double click on image in preview window, it rescales to fullscreen and sown on the black background, in this mode you can do noting with image so this mode looks like almost completely useless, but you can add an option king of "dblclick on prevew open image in default programm" and if you doubleclick on image it will be opened in associated with this extension programm (photoshop or some custum image viewer for example) and all of this programs has much more tools then simple black screen and can provide more comfortable view.

you can also open full pic, its really big -___-

I would also like it so you can right click an image have a menu pop up and
copy it to a clipboard. It saves the hassle of having to open in the
browser and copy it from there.
On Wed, Nov 30, 2016 at 3:46 PM, MasterPetrik<EMAIL_ADDRESS>wrote:

Now in you double click on image in preview window, it rescales to
fullscreen and sown on the black background, in this mode you can do noting
with image so this mode looks like almost completely useless, but you can
add an option king of "dblclick on prevew open image in default programm"
and if you doubleclick on image it will be opened in associated with this
extension programm (photoshop or some custum image viewer for example) and
all of this programs has much more tools then simple black screen and can
provide more comfortable view.
[image: 30112016_231306_mastercore]
https://cloud.githubusercontent.com/assets/22294259/20770000/39efd6a6-b755-11e6-91af-312fe9c3ee40.jpg
you can also open full pic, its really big -___-
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/Bionus/imgbrd-grabber/issues/696, or mute the thread
https://github.com/notifications/unsubscribe-auth/AS2t8G79jFT-HMsDkTQ9tU-jU_seg3_Gks5rDeCOgaJpZM4LAqWh
.

Could be useful indeed, since Grabber's viewer is very basic.

At now in you double click on image in preview window, it rescales to fullscreen and sown on the black background, in this mode you can do noting with image so this mode looks like almost completely useless

It's useful for seeing the image bigger I guess, as well as for slideshows.

but you can add an option king of "dblclick on prevew open image in default programm" and if you doubleclick on image it will be opened in associated with this extension programm (photoshop or some custum image viewer for example) and all of this programs has much more tools then simple black screen and can provide more comfortable view.

Note that if the image was not saved, and you open it with an image browser, the image will be located in some temporary directory, alone. So you won't get any navigation feature from the other viewers unless you save the image.

I would also like it so you can right click an image have a menu pop up and copy it to a clipboard. It saves the hassle of having to open in the browser and copy it from there.

Copy what exactly? The image? Or are you talking about the tags context menu?

I'm talking about copying the image.
On Wed, Nov 30, 2016 at 5:32 PM, Jack Vasti<EMAIL_ADDRESS>wrote:

Could be useful indeed, since Grabber's viewer is very basic.
At now in you double click on image in preview window, it rescales to
fullscreen and sown on the black background, in this mode you can do noting
with image so this mode looks like almost completely useless
It's useful for seeing the image bigger I guess, as well as for slideshows.
but you can add an option king of "dblclick on prevew open image in
default programm" and if you doubleclick on image it will be opened in
associated with this extension programm (photoshop or some custum image
viewer for example) and all of this programs has much more tools then
simple black screen and can provide more comfortable view.
Note that if the image was not saved, and you open it with an image
browser, the image will be located in some temporary directory, alone. So
you won't get any navigation feature from the other viewers unless you save
the image.
I would also like it so you can right click an image have a menu pop up
and copy it to a clipboard. It saves the hassle of having to open in the
browser and copy it from there.
Copy what exactly? The image? Or are you talking about the tags context
menu?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/Bionus/imgbrd-grabber/issues/696#issuecomment-264017785,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AS2t8C31ER3i7fAprhPiLPej6UcDwa7Xks5rDflsgaJpZM4LAqWh
.

Note that if the image was not saved, and you open it with an image browser, the image will be located in some temporary directory, alone. So you won't get any navigation feature from the other viewers unless you save the image.

There are all not for better navigation, but for better viewing/editing, its Ok to view image from Temp folder, its not a big deal,  for example in FastStone Image viewer you also see full image on black background, but you can cut/rescale it, resize it change image format, and after all save wherever you want,  and if you mind to use photoshop... hehe. So its all for that  purpose. User better know itself, what programm will be better for him for viewing)  But if you already pressed "save" button, of cource must be open exactly saved image but not temp image.

Copy what exactly? The image? Or are you talking about the tags context menu?

Well they are both useful, maybe when you rightclick on the tag space you will find "Copy tags to clipboard" option, and when you rightclick on the image you will find "Copy image to clipboard" option. It will be very logical, I guess.


Add support for CI

To add Travis CI test automation, a specific Java version was needed to be specified for building the project on Travis hardware. Java 8 has been arbitrarily chosen.

Travis will need to be enabled for republicwireless-open/legion by the org owner.

@daynebatten I have Travis set up. I'm thinking the travis.yml needs to be merged before it'll start running.

That triggered a build


Carthage stuck building FontAwesome on version 1.7.1

Carthage gets stuck building the latest version of FontAwesome [1.7.1]

#206


Incorrect content

In note it is mentioned that audit logs event will show "User Access via Web Service" when accessing from tablet. But actually it is showing as "User Access via Web". Please revise and update the content.

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

ID: 4c5e864a-d321-36de-db41-e74c149cb8cf
Version Independent ID: 5e6f6328-52b5-d0b8-84a1-5dc48c87583b
Content: Set up Dynamics 365 for phones and Dynamics 365 for tablets
Content Source: ce/mobile-app/set-up-dynamics-365-for-phones-and-dynamics-365-for-tablets.md
Service: crm-online
GitHub Login: @mduelae
Microsoft Alias: mkaur

@VigneshMSCRM Thank you for the feedback. I have updated that topic. The changes should go live by end of day.
Thank you,
Mints


How to help/contribute?

Hey, I think this is super promising, and people want something like this https://dev-discuss.pytorch.org/t/proposal-torch-js-a-javascript-frontend-for-pytorch/650/8, but the project looks kinda abandoned.
Is there anything we can do to revive it? Do you think the current approach is right, anything to change in terms of architecture, etc?

Up


Revert test directory cleaning change.

#6900 changed it so that the entire cit directory was cleaned once when tests started. Previously, each t# directory was deleted just before each test ran. This restores the old behavior due to problems on Windows.
The problem is that the call to rm_rf would fail with various errors ("Not found", "directory not empty", etc.) if you run cargo test twice. The first panic would poison the lazy static initializer, causing all subsequent tests to fail.
There are a variety of reasons deleting a file on Windows is difficult. My hypothesis in this case is that services like the indexing service and Defender swoop in and temporarily hold handles to files. This seems to be worse on slower systems, where presumably these services take longer to process all the files created by the test suite. It may also be related to how files are "marked for deletion" but are not immediately deleted.
The solution here is to spread out the deletion over time, giving Windows more of an opportunity to release its handles. This is a poor solution, and should only help reduce the frequency, but not entirely fix it.
I believe that this cannot be solved using DeleteFileW. There are more details at https://github.com/rust-lang/rust/issues/29497, which is a long-standing problem that there are no good Rust implementations for recursively deleting a directory.
An example of something that implements a "safe" delete is Cygwin's unlink implementation. As you can see, it is quite complex. Of course our use case does not need to handle quite as many edge cases, but I think any implementation is going to be nontrivial, and require Windows-specific APIs not available in std.
Note: Even before #6900 I still get a lot of errors on a slow VM (particularly "directory not empty"), with Defender and Indexing off. I'm not sure why. This PR should make it more bearable, though.

r? @nrc
(rust_highfive has picked a reviewer for you, use r? to override)

Thank you very much for working on this! I have 2 random thoughts,

I know that @rbtcollins has been doing great work to make rustup's IO faster on windows, I wonder if we ~can steal some ideas~ work with them to make this faster.
I have heard a rumor that there is a programmatic way to turn Indexing off on a per directory bases. If that rumor is true, then we should do that for cit. (If it works well there we should consider doing it for some or all of each profile directory and some or all of ~/cargo)

@bors: r+

:pushpin: Commit 00822903bb424e2f08c08987f833b9e8d6fb8fc6 has been approved by alexcrichton

:hourglass: Testing commit 00822903bb424e2f08c08987f833b9e8d6fb8fc6 with merge 2ee292f0688d44bfc7448f95b265ebdf83be3708...

@Eh2406 It would be nice to have a Windows expert help.  There is code to disable backups of target on macos. Better support like that on windows would be good.

:sunny: Test successful - checks-travis, status-appveyor
Approved by: alexcrichton
Pushing 2ee292f0688d44bfc7448f95b265ebdf83be3708 to master...

Hi, Indexing service does indeed honour FILE_ATTRIBUTE_NOT_CONTENT_INDEXED. I'm not sure if it will eliminate handle races from it because the hook will still need to examine the file to determine not to index it... but it will reduce system load, OTOH IndexService self throttles under high load anyway...
Defender or other AV systems also do hold handles on the files at various times; we haven't spotted a Defender handle on windows 10 so far - it seems to do its access all in-line in IOPS from our processes, but Symantec and other scanner seem to actively race.
This approach should be robust - https://github.com/rust-lang/rustup.rs/pull/1873 - its obviously not suitable for a stdlib API call, but should be fine for cargo or other higher layer crates. - in short, spin for some short period. The 28 seconds we use here is because we have long lived proxy processes; for the cargo test suite I'd suggest a spin period of no more than 50ms or so.
If you can reproduce the problem, running under WPA or procmon and getting insight into what process is holding handles would perhaps allow more designs to be proposed for dealing with the issue.
If, for instance, it is defender then in CI jobs, powershell can be used to programmatically disable Defender for a directory; this isn't safe to do for development machines which can be targetted, but for a one-off random directory in a cloud instance its pretty safe.
Grab me on discord in the wg-rustup channel if you want to give me more context, I'm happy to help.

Last time I investigated this about a year ago (https://github.com/rust-lang/cargo/issues/5481#issuecomment-386781088), all I was able to determine is that one of the service processes had a handle open, and I have no idea how to tell which service was responsible.  It also included the "system" process, which was not helpful.
It doesn't really matter, the rm code should be resilient to this situation.  For example, looking at the cygwin implementation, I think when it fails it moves it to the trash bin instead.  Perhaps something like that is the solution, though I'm not sure if it's a good solution.
Also, from that same issue (5481) there are some really tricky problems.  Deleting an executable can succeed, but leave a phantom behind (such that path.exists() is true immediately after a successful unlink call, and you cannot reuse the same filename for a few milliseconds).  Executables (that were recently created and ran) are somehow special, and the cargo test suite creates a lot of them very rapidly.
The jitter code also sounds like a good idea, but I don't really have time to implement it right now.
@Eh2406 can you let me know if you run into problems after this PR?  I'll make it a higher priority if it is still bugging you.

#7011 means that I am not running into this much these days. I would not prioritize fixing the test sweet.

@ehuss WPA or procmon would give much more detailed diagnostics about handles; your restart manager API technique was clever but too indirect I think.
https://github.com/cygwin/cygwin/blob/ad101bcb0f55f0eb1a9f60187f949c3decd855e4/winsup/cygwin/syscalls.cc#L930 is the rm -r mitigation with https://github.com/cygwin/cygwin/blob/ad101bcb0f55f0eb1a9f60187f949c3decd855e4/winsup/cygwin/syscalls.cc#L636 being the referenced comment. I can't shed much light on those techniques (they post date my active involvement in cygwin.
The moving to the recycle bin is a reasonable approach when direct unlinking doesn't work for test suites, but you would need the full code path - folk will run the test suite on network drives and so forth, where that doesn't work.
My point about about gathering data is that making rm resilient to the situation depends on knowing what actually is happening. If cargo is encountering this well known WTF mode where unlinking a directory returns before the unlink actually happens, then its pretty straight forward to mitigate - that appears to be very robust with the move-then-unlink path in rustup. If it is a handle collision with a system utility (index service / virus scanner etc), then a jitter based retry can mitigate that.
One could of course just through several techniques at it and hope :). Anyhow - my offer is open, let me know if you need help.


Add Container Annotations profile for all collections

e.g. SpacePrez' list of Datasets: https://linked.fsdf.org.au/datasets, the Collections in a Dataset, https://linked.fsdf.org.au/dataset/electrical-infrastructure/collections, the Features within a Collection, https://linked.fsdf.org.au/dataset/electrical-infrastructure/collections/PS/items.
e.g. VocPrez' list of Vocabs, https://linked.fsdf.org.au/vocab, a Vocab (Concepts) https://linked.fsdf.org.au/vocab/observable-properties and any SKOS Collections views, https://vocabs.gsq.digital/object?uri=http%3A//linked.data.gov.au/def/data-access-rights/open-access-rights&_profile=alt
Basically, wherever a Members profile is currently present

what are the properties that would be included in the annotations profile?


Debugging on iOS causes Visual Studio to not react anymore

To build and debug my iOS app, which is made up of Objective-C and C++ code, I'm using Visual Studio 2017 version 15.2 (26430.13) which is paired with vcremote running on a Mac mini (Intel Core i5, 8GB, HDD).
Building is working really well, I generally don't have problems there. However, the problem is that debugging with that constellation does not work reliably. Most of the time when I launch the debugger the iOS simulator is properly started on the Mac, my app is deployed and started but somehow Visual Studio does not respond anymore. It doesn't actually freeze in the sense that Windows detects that Visual Studio hangs and proposes to kill it, it's just that it does not react to input anymore. It's user interface is still properly visible, i.e. there are not rendering problems, etc. but Visual Studio does not respond anymore. All I can do in such a case is killing Visual Studio using Task Manager and try it again.
Paired with the mentioned Mac this happens several times before once in a while debuggung finally works. The interesting thing is that if I pair my Visual Studio with the MacBook of my colleague (same Wi-Fi network) it still happens but it happens with a much lower frequency. But anyway, with both Macs it does happen and can be reproduced easily.
Let me know if you need more specific information, I'm happy to provide it.

@ackh Can you follow instructions on https://github.com/Microsoft/MIEngine/wiki/Logging to grab a log of at least the recent activity?

Sure, the log file is attached. As mentioned building the solution worked fine. Once I built it I attempted to debug it. This spawned the corresponding simulator on my Mac Mini. However, as soon as the simulator is up and running Visual Studio does not react anymore as described above. I then killed the Visual Studio process and grabbed the log form the temp folder.
Microsoft.MIDebug.txt
I started to debug this issue by building the MIEngine code myself. However, I ran out of time and attempt it again as soon as I find more time.


Pods can't resolve DNS

Environmental Info:
K3s Version:
k3s version v1.28.8+k3s1 (653dd61a)
go version go1.21.8
Node(s) CPU architecture, OS, and Version:
(docker agent)Linux 0b5bf15de242 6.6.16-linuxkit #1 SMP Fri Feb 16 11:54:02 UTC 2024 aarch64 GNU/Linux
Cluster Configuration:

My cluster contains there rpis boards and they are working pretty well. Now I'm trying to add a new agent using docker
This new agent is running on my machine (macOS 14.3.1 23D60 arm64)

Describe the bug:
The pods created on this new agent can't resolve dns. The way I'm testing is exec into the pod and nslookup something
Steps To Reproduce:
The docker-compose file I'm using is the following:
services:
  agent:
    image: "rancher/k3s:${K3S_VERSION:-latest}"
    command:
      - agent
      - --node-name
      - macmachine-docker1
      - --node-label
      - "machine=macmachine"
      - --node-taint
      - "isMacMachine=true:NoSchedule"
      - --resolv-conf
      - "/var/lib/rancher/k3s/agent/etc/resolv.conf"
    tmpfs:
    - /run
    - /var/run
    ulimits:
      nproc: 65535
      nofile:
        soft: 65535
        hard: 65535
    privileged: true
    restart: always
    environment:
    - K3S_URL=https://<IP_ADDRESS>:6443
    - K3S_TOKEN=${K3S_TOKEN:?err}
    - K3D_FIX_DNS=1
    volumes:
    - k3s-agent:/var/lib/rancher/k3s

The --resolv-conf value is probably wrong. I'm just playing with the parameter.
I have seen other similar issues but I just can't make it work. Sorry for opening another similar issue.
When deploying the pod with hostNetwork: true dns resolution is working as expected.
Expected behavior:
My pods could resolve any name.
Actual behavior:
nslookup inside the pod:
$ nslookup google.com
;; connection timed out; no servers could be reached

Additional context / logs:
/etc/resolv.conf inside the pod:
search default.svc.cluster.local svc.cluster.local cluster.local
nameserver <IP_ADDRESS>
options ndots:5

agent:
nameserver <IP_ADDRESS>
options ndots:0

I see you have K3D environment variables set in your docker-compose variables. Are you using k3d, or k3s directly?
I will also note that the k3s docker image is not meant to be used for multi-host clusters; it is meant for running a single-node docker container, or a multi-node cluster where are the nodes are just containers on the same host. If you want to distribute your cluster across multiple hosts, install K3s on the host directly (or on a VM if using mac/windows).

@brandond yeah, while I was searching the problem I came across a similar thread in k3d and I was just testing it. But you are right it would make more sense to deploy directly on the machine. The reasoning was just to test and play with different "nodes" in my cluster. Thank you!

@brandond Sorry for the callout, just want to vent here since is the same question.
In my host machine (mac) I created a multipass vm (ubuntu). Then I installed k3s with the installation script (agent). The node is being attached and listed, but the same problem occurs. I'm unable to access anything from inside the pods created within the new node. it's the same problem you described? Could you give me any hint on what to look for? Thank you.


rmodels.c, LoadImageFromCgltfImage() : fix base64 padding support

This should fix the issue related to .gltf embeded textures in base64 format, by ignoring the optional = padding and calculating the data size in bytes correctly.
Before this patch, cgltf_load_buffer_base64() would fail, and the .gltfmodel would not load embedded textures.
Should not interfere with pending https://github.com/raysan5/raylib/pull/4107

@SuperUserNameMan Thanks for the review!


defaultlabelBGColor

Hi, there is a way to set a background on the label? I mean not on over, as default state

Nop, there is only the font style & color.
After if you over the node, you can set the color with defaultNodeHoverColor settings.

It remains possible to create a custom label renderer to change the background @antonioaltamura. You can find a tutorial explaining how to create such renderers here.


feat(publish-quota): per user publishArticle quota

resolves #3842

how about Revert "hotfix(publish-rate): reduce rate of publishArticle"
This reverts commit 2717c88.
Let the graphql directive still handles a 10articles/2hours bottom limit?


Add custom action to handmade products grid

We need to manually set the width of the actions column, depending on the number of IconButton components shown, 32px per IconButton.  DataGrid columns do not scale automatically, depending on their content.
We cannot use getActions from the special property types for this:

Every item returned by getActions must be the GridActionsCellItem component directly. This would not allow us to wrap the item with a Tooltip or add a Fragment that contains the item so we can add a Dialog that opens when clicking the item.

Additionally, CrudContextMenu is not currently implemented with GridActionsCellItem so it cannot be used inside getActions in it's current state. Simply replacing the items with GridActionsCellItem would not work, as getActions requires an array of items and cannot handle multiple items inside one element or fragment.

PR Checklist

[x] Link to the respective task if one exists: SVK-211
[x] Provide screenshots/screencasts if the change contains visual changes

https://github.com/vivid-planet/comet/assets/6264317/e500c050-0474-404f-b4f3-5f22e9d6df23

Every item returned by getActions must be the GridActionsCellItem component directly. This would not allow us to wrap the item with a Tooltip or add a Fragment that contains the item so we can add a Dialog that opens when clicking the item.

this is not correct, at least in mui-x v7 there is an example in the docs that does exaclty that

Additionally, CrudContextMenu is not currently implemented with GridActionsCellItem so it cannot be used inside getActions in it's current state. Simply replacing the items with GridActionsCellItem would not work, as getActions requires an array of items and cannot handle multiple items inside one element or fragment.

we could change that, this should not be an argument.
(I don't want to say that we should use type="actions")

Every item returned by getActions must be the GridActionsCellItem component directly. This would not allow us to wrap the item with a Tooltip or add a Fragment that contains the item so we can add a Dialog that opens when clicking the item.

this is not correct, at least in mui-x v7 there is an example in the docs that does exaclty that

Where exactly? I don't see it 😅

Additionally, CrudContextMenu is not currently implemented with GridActionsCellItem so it cannot be used inside getActions in it's current state. Simply replacing the items with GridActionsCellItem would not work, as getActions requires an array of items and cannot handle multiple items inside one element or fragment.

we could change that, this should not be an argument.

True.

came to the conclusion that there is no real benefit to using it, over our current approach

imho the main benefit would be that we are using a standard DataGrid feature instead of creating our own. If both work well, I'd always choose the standard way.
why?

less code to maintain on our side
devs can consult mui docs/examples (the more we move away from mui, the less mui docs are even opened by devs)

It would however add the necessity for a few workarounds regarding styling and typing.

If those are some theming stuff internally, I would accept that. If it results in an not-so-nice API for devs, then it's an argument against.

@nsams all good points, I'll create a separate PR to try this out so we can see the pros/cons more easily.

@nsams I tried implementing this with getActions(): https://github.com/vivid-planet/comet/commit/a8d15f8aab5dc15038e1edf009258d54454e73a4
Other than styling and possible types we would have to override, the GridActionsCellItem component seems to be quite buggy. I was not able to get the delete-item of the CRUD actions to work. Because of the fragment around the item, the item for some reason replaces all other items and is rendered outside of the ellipsis menu.
There's also a bunch of TS problems, such as getActions not allowing items to be returned with custom props, the onResize props being required, even though it should be undefined.
Also items returned in getActions would need a key.
In conclusion, I don't think it's worth the effort of refactoring/restyling everything and adding a bunch of typescript workarounds, just to have a slightly different API. Especially because of the buggy behavior.


Clear (show black picture) latest video frame when a stream is stopped

Workarounds:

call JS function attachMediaStream(HTML , null);
or use javascript to set the  element opacity to zero


[WIP] feat: takeover

Could we have some background information about this PR?

Sorry, this pr may not be ready until the nydusd support save/restore vfs state. I should convert this pr to draft by now.

@loheagn Any updates for this PR?

@imeoer @ccx1024cc I'm not sure if this PR still needs to exist, as it seems that nydus-snapshotter can now work well with capabilities like failover of nydusd. Could you give me some advice?

@loheagn Thanks! Just follow the doc https://github.com/dragonflyoss/nydus/blob/master/docs/nydus-failover-upgrade.md, let's close the PR.


Copy line down keybindings doesn't work

VSCode Version: Code 1.7.2 (7ba55c5860b152d999dda59393ca3ebeb1b5c85f, 2016-11-21T22:14:18.217Z)
OS Version: Linux x64 4.4.0-47-generic
Extensions:

Extension
Author
Version

material-icon-theme
PKief
1.1.3

vscode-icontheme-nomo-dark
be5invis
1.2.0

Theme-FlatlandMonokai
gerane
0.0.4

Angular2
johnpapa
1.0.2

Theme-MaterialKit
ms-vscode
0.1.1

autoimport
steoates
1.2.2

Material-theme
zhuangtongfa
1.0.3

Steps to Reproduce:

Open IDE, selecte line
Press Alt+ Shift + Alt + down

I think the default on Linux for copying line down is ctrl+alt+shift+down. Varying from distribution to distribution, sometimes the window manager "steals" these key combinations. It is impossible for us to have a default that works on all the linux distributions.
Can you please check if we even receive this keybinding? Go to Preferences > Keyboard shortcuts and use the Define Keybinding and check if we receive this key combination. Here I am doing it on Windows:

Hi Alex, I try as you said and it don't get the up & down key with ctrl + alt+ shift , just left & right.
But it works with ctrl + alt + down/up
I don't know why, but in older version I think it worked.
Thanks!

Thanks for trying it out, this confirms that the OS or some other software is eating up these key combinations. I suggest that you define new keybindings for these actions. e.g.
{ "key": "shift+alt+down",        "command": "editor.action.copyLinesDownAction",
                                     "when": "editorTextFocus && !editorReadonly" },

The keybindings could be captured by an OS update, some new installed or updated software, etc.
Given we're not getting them, there is nothing we can do on our side, short of changing the defaults, which is also difficult because there are no more modifier + arrow keys combinations left.

How about use vim's J/K for some down/up, ctrl+shift+alt+J and ctrl+shift+alt+K, this maybe a reasonable chice. : )


Preview dissapears from Storyboard

Hi, i was designing a view in the story board when I opened again XCode all the Buttons, are not visible. They are still there, but I can´t view then in the Storyboard.

try open storyboard. go to Editor -> Refresh All Views. It fixed for me.

Fixed in v1.1. If the error still occurs, please try @supermnemonic suggestion.


Windows path and duckscript

Describe the bug
When I try to use ${CARGO_MAKE_WORKING_DIRECTORY} in certain positions in duckscript from windows, it causes the following error:

[cargo-make] ERROR - Error while running duckscript: Source: Unknown Line: 19 - Source: Unknown Line: 1 - control character found without a valid value

The error is extremely confusing: it doesn't trigger all the time (for instance, echo ${CARGO_MAKE_WORKING_DIRECTORY} works fine, but if is_path_exists ${CARGO_MAKE_WORKING_DIRECTORY} will fail.
My understanding is that duckscript will replace CARGO_MAKE_WORKING_DIRECTORY with the string, which contains backslashes. It will then try to interpret those backslashes as control characters/escape sequences, instead of a literal backslash character?
To Reproduce
Create a Makefile.toml with the code in the below code sample, and run cargo make reproduce
Code Sample
[tasks.reproduce]
script_runner = "@duckscript"
script = [
'''
if is_path_exists ${CARGO_MAKE_WORKING_DIRECTORY}
end
''']

thanks for reporting. ya, that's a definite bug.

@roblabla I fixed the duckscript sdk.
you can reinstall cargo-make and it should pick it up.

Yup, it's fixed! Thanks a lot :D


Missing TypeScript declaration files

When pulling<EMAIL_ADDRESS>from NPM, the package does not include TS declaration files.
You can preview the package contents here: https://www.npmjs.com/package/@simonsmith/cypress-image-snapshot?activeTab=code

Yep, I am yet to release version 7 which will include them. I have a couple more tasks to do on the repo and then it will be released


Fix download progress reporting

This pull request addresses an issue with progress tracking during downloads. Previously, progress was updated using chunk.len(), which only reflected the size of each individual chunk rather than the cumulative total.
Changes:
Progress Calculation: Replaced chunk.len() with stats.total_transferred for progress, ensuring it accurately reflects the cumulative download progress from start to end.
TransferStats Update: Added total_transferred to TransferStats to maintain an ongoing count of all transferred bytes without resetting per granularity interval.

This is not a bug and has always been the expected behavior. (Expected from us at least, there were quite a few users confused by this)
Since we're now keeping track of much more data than before the transfer_speed update i wouldn't mind adding a new field for this (keeping progress to represent the chunk size).
In v3 we could consider renaming the progress field but now this would break too many apps.

This is not a bug and has always been the expected behavior. (Expected from us at least, there were quite a few users confused by this)
Since we're now keeping track of much more data than before the transfer_speed update i wouldn't mind adding a new field for this (keeping progress to represent the chunk size).
In v3 we could consider renaming the progress field but now this would break too many apps.

How about adding a new field, for example, total_progress, to track cumulative progress while keeping progress for the chunk size?

Well, i just said the same so yes, i agree :D
i'd go for total_progress or progress_total and leave transfer* for just the speed stuff.

progress_total

It's probably more convenient that way

thank you

thank you too
I really appreciate all the work you’re doing — it’s awesome


feat: Vanjs examples

VanJS: A 1.0kB Grab 'n Go Reactive UI Framework without React/JSX site

Too niche atm, would not have the time to maintain it. You can clone it to make a Component Party clone for this framework.


Improve tests in test_affine once core class restructured with BiasCorr parameters

The logic in test_biascorr can be copied to test all types of inputs (raster-raster, point-raster, point-point), but for efficiency we should only do this once the function class parameters are fixed (fit optimizer, binning, etc) to avoid rewriting the tests twice. See #435.

And in more details:


[RFC] Improve compatibility with legacy versions

Because why not… :-)
Now more seriously: This project is a low level lib that is used as a building block for quite a few higher level abstractions on top of it. As such, compatibility (even with significantly outdated versions) is a major concern to me.
Note that I'm not suggesting putting significant amount of work into this. The patch is already here and, personally, I see little harm in supporting this.
Also note that I'm not suggesting we need to keep support indefinitely. Should this ever turn out to be a burden in the future, e.g. because we actually require any new language features or some external lib, then I'm all for dropping support again.

Rebased now that #27 is in :shipit:

Rebased now that #26 is in :shipit:

Test are segfaulting on 5.3 it seems

I've traced down the SEGFAULT on legacy PHP < 5.4 to this gist:
$s = popen('echo test', 'r');

stream_set_blocking($s, 0);
stream_set_read_buffer($s, 0);

$data = stream_get_contents($s, 8000);
var_dump($data);

Apparently, this reads beyond the resource limits and returns a corrupted string value where strlen($data) === -1.
I've added a very simple workaround to re-enable stream buffers on affected versions only and I have yet to observe any side effects. In other words: This fixed version works without known limitations currently.
As it turns out, this is actually an issue in the underlying stream component for ALL pipes and is not limited to process pipes. The very same issue can also be reproduced by using $s = STDIN; in the above example. I'll file an issue in the stream component for this and link back here.

TL;DR: Updated to fix all issues :shipit:


NotFound IssuePriority

Hallo,
I am trying to call the IssuePriority of the specific project. What could be the problem that it can't find the values.

Based on redmine api docs you can't get a list of issue priorities for a specific project (http://www.redmine.org/projects/redmine/wiki/Rest_Enumerations) but you can get all the issue priorities that are defined.

I hope it's ok for you when I contect you about the e mail.
Thanks , I get without a Problem all Statues Values. I have not idea how to
get all issue priorities. How has to look like the methode to get all issue
priorites. That what I tried does not work.
2015-09-09 10:36 GMT+02:00 Padi<EMAIL_ADDRESS>
Closed #110 https://github.com/zapadi/redmine-net-api/issues/110.
—
Reply to this email directly or view it on GitHub
https://github.com/zapadi/redmine-net-api/issues/110#event-404553598.


Can't trigger lightbox in Wordpress

This is driving me nuts, I've tried everything.
At https://new.wheelhousecreative.com
I can't get the lightbox to trigger when clicking the video play icons.
Help!!

Seems to be conflict with Phlox theme ..


ENTESB-6123 - Add missing xmlns for blueprint

related to https://github.com/jboss-fuse/fabric8/pull/786

ok to test

This is invalid, because the source of the quickstarts will come from fabric8 so no need to push changes directly on Fuse.

@oscerd Are you sure? During yesterday talk on IRC, we said that as it was after the code freeze, this repsoitory will also need to have the fix waiting for the next service release

I don't think Fuse repository is included, maybe the it was the quickstarts repository.
Anyway, I'm reopening and we will wait for @janstey :-)

Oh. My mistake. You're right, we are on quickstarts! ahahaah :-D

Sorry about this. Merging it now!


Text node as custom object

There seem to be issues in using a regular Text node as a custom object. The goal was to have a Text node which could be seen as a single object and dynamically change values. The editor does most of this correctly, with the exception of the caret position. In the image below, the text "TextNode" is in the Text node and the "---" is part of the text in the editor (as based on the RichText demo). The caret is in the rightmost position.

I think you would need to wrap the Text node in something else (e.g., Region) because the TextFlow that is used to layout the nodes (both text and custom) would interpret that node as part of its text and thus use it to calculate where the caret should be.

Assuming that works, let me know so I can add a small note about that in the wiki page that talks about custom objects.

That does seem to work when wrapped in a Region, though it isn't drawn when there's no other content in the editor. Maybe I'm just doing something wrong though, I'm still fairly new to JavaFX.

though it isn't drawn when there's no other content in the editor.

Care to elaborate a bit more?

Region might actually be a poor choice because it may not lay out its children according to the right size. As an alternative, you might want to try StackPane.

Care to elaborate a bit more?
Well, when the editor only has one of the Text objects wrapped in a Region as its content, the Text object either isn't drawn or the text color is white. The caret does show after it in the correct place. Once I type anything, it does draw correctly. But I suspect that may be a result of the layout issue you're referring to.

The region object is like at least twice as tall as the Text object, but the caret only grows to that size when there's other content. So I'm guessing that without any text in the editor, it is drawn but the bottom of the Region at the height of the text in the editor, cutting of the top, which has the wrapped Text object in it. This may be a bug in itself in regards to custom objects.
Here's an example, I hope that clears it up:

you might want to try StackPane

That seems better at first sight, but also comes with an issue of its own:

I have tried wrapping the Text node in a MigPane from the MigLayout library. It has a debug mode which shows the border of the pane itself. It does show that the Pane perfectly wraps around the Text node, yet the behavior doesn't change and the editor still seems to think it is a lot taller than it actually is.

Have you tried debugging it using Scenic View?

Have you tried debugging it using Scenic View?

That produces the same result. The StackPane-wrapped Text node looks fine, but the other text nodes and caret are a lot taller than they should be.

That produces the same result.

Right, but I was curious to see what the values relating to width/height (min, pref, max width/height) and the compute values (compute pref width, compute region, or whatever those values are. I can't recall them off the top of my head) were.
Do you know if the Text node's CSS style class is affecting it? If you adding padding to the area via the text style class, this is probably bleeding into your Text node as well.

Right, but I was curious to see what the values relating to width/height (min, pref, max width/height) and the compute values (compute pref width, compute region, or whatever those values are. I can't recall them off the top of my head) were.

I've quickly thrown together this small sample project based on the demo, if you would like to have a look: https://github.com/FHannes/RichTextFX-Sample

Using your sample project, I made the TextObjNode extend TextFlow, which lays out the Text object properly every time. However, there is still a minor vertical adjustment when a space is added or the caret moves.

However, there is still a minor vertical adjustment when a space is added or the caret moves.

I'm not seeing that on my end. This is definitely working a lot better with TextFlow though.

Hmm. After loading your sample project, when I typed SPACE, the caret's vertical size grew slightly and some space was added (I can't recall whether this was above/below the TextFlow). So, I guess it's only noticeable when the only segment on a paragraph is that custom text node.
Anyways, is this issue resolved now? Can we close it?

Anyways, is this issue resolved now? Can we close it?

Yeah, thank you.


I want to support exFAT. Do you have any suggestions?

Problem
At present, the project cannot support NTFS and EXFAT, I want to support them, do you have any suggestions?
Expected behavior
I want to support exFAT.I think NTFS will be difficult to support in the short term
Actual behavior
I checked, the current project supports FAT32, but not NTFS and EXFAT. I tried to connect with FAT32, NTFS and EXFAT USB drives, and recorded it.
I found that when I was reading NTFSU disk, there was a problem in the process of reading the stream. It may need to be changed to SCSI command set. I gave it up for the time being
(The problem :java.io.IOException: Unsuccessful Csw status: 1)
When reading the EXFAT U disk, there is a problem when getting the file. I think it is necessary to parse the corresponding partition table.
(The problem :java.lang.NullPointerException: Attempt to invoke interface method '.getFile()' on a null object reference)
Is my analysis correct? If correct, I intend to start my work

There is a module in the repo java-fs which includes exFAT and NTFS (read-only). <- Highly experimental
If you want to implement new file systems you do not need to do anything regarding SCSI or partition tables, but you need to implement the FileSystem and corresponding UsbFile interfaces.
In terms of exFAT there is a spec by Microsoft now, which should make it easier to implement. For NTFS, it is proprietary but for instance the Linux kernel implements it so it is not impossible.


Fix for Update an existing entity in verifier #18

This is a cleaner fix for issue #18 and does not require changes to any existing code. The user will, however, have to enable cookies for social linking to work and add cookie-parser

Actually just realized that this will work through https://github.com/feathersjs/authentication-jwt/pull/55 if cookies are enabled, no cookie parser necessary. Thank you again, this is great work!


[fix][io] Close the kafka source connector if there is uncaught exception

Fixes #19880
Motivation
If any unexpected and uncaught exceptions are thrown in the runnerThread of the Kafka source connector, the connector will just log that message and get stuck. The connector won't exit but won't do anything either.
Modifications

Close the connector if there is uncaught exception

Verifying this change
This change added tests
Does this pull request potentially affect one of the following parts:

If the box was checked, please highlight the changes

[ ] Dependencies (add or upgrade a dependency)
[ ] The public API
[ ] The schema
[ ] The default values of configurations
[ ] The threading model
[ ] The binary protocol
[ ] The REST endpoints
[ ] The admin CLI options
[ ] The metrics
[ ] Anything that affects deployment

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository:

Codecov Report

Merging #20424 (6d6d8a2) into master (aa3bfcd) will increase coverage by 0.00%.
The diff coverage is 75.75%.

@@            Coverage Diff            @@
##             master   #20424   +/-   ##
=========================================
  Coverage     72.90%   72.91%
- Complexity    31864    31896   +32
=========================================
  Files          1864     1865    +1
  Lines        138416   138443   +27
  Branches      15188    15192    +4
=========================================
+ Hits         100919   100945   +26
- Misses        29477    29488   +11
+ Partials       8020     8010   -10

Flag
Coverage Δ

inttests
24.14% <9.09%> (-0.03%)
:arrow_down:

systests
24.95% <9.09%> (-0.11%)
:arrow_down:

unittests
72.19% <75.75%> (+0.02%)
:arrow_up:

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

Impacted Files
Coverage Δ

...a/org/apache/bookkeeper/mledger/ManagedCursor.java
42.85% <0.00%> (-3.30%)
:arrow_down:

...a/org/apache/bookkeeper/mledger/ManagedLedger.java
0.00% <0.00%> (ø)

...rg/apache/pulsar/io/kafka/KafkaAbstractSource.java
69.06% <60.00%> (+0.17%)
:arrow_up:

...rg/apache/bookkeeper/mledger/impl/OpReadEntry.java
84.31% <75.00%> (+4.72%)
:arrow_up:

...che/bookkeeper/mledger/impl/ManagedCursorImpl.java
79.02% <76.92%> (+0.56%)
:arrow_up:

...che/bookkeeper/mledger/impl/ManagedLedgerImpl.java
81.32% <100.00%> (+0.16%)
:arrow_up:

...ookkeeper/mledger/impl/ManagedLedgerMBeanImpl.java
89.31% <100.00%> (ø)

...kkeeper/mledger/impl/cache/EntryCacheDisabled.java
70.83% <100.00%> (ø)

...keeper/mledger/impl/cache/RangeEntryCacheImpl.java
58.75% <100.00%> (ø)

... and 65 files with indirect coverage changes

@liudezhi2098 the label "cherry-picked/*" should be only added after the PR is cherry-picked. If you want to make the PR should be cherry-picked to branch-2.10, you should add "release/2.10.5".

@RobertIndie Could you please help cherry-pick this PR to release branches?


MQTT5 transport spec does not support uE instance IDs

With the current topic structure for uE-to-uE communication, it is not possible to filter on uEntity instance IDs.
Example:
uEntity 0x5678 version 0x02 on device1 wants to add a listener for requests to its resource 0xA100 originating from any instance of uEntity with type ID 0x1234 on any other device (connected to the same MQTT broker). This would result in topic filter
+/FFFF1234/+/0/device1/5678/2/A100
However, if the uEntity with uE ID 0x00041234 on device2 sends a corresponding request, it would get published on topic
device2/41234/2/0/device1/5678/2/A100
which would not match the topic filter used to register the listener on device1 (because 41234 is not the same as FFFF1234).

One option would be to put the uEntity type and instance IDs into separate topic segments, e.g. using a topic filter like
{source.authority_name}/{source.ue_type_id}/{source.ue_instance_id}/{source.ue_version_major}/{source.resource_id}/{sink.authority_name}/{sink.ue_type_id}/{sink.ue_instance_id}/{sink.ue_version_major}/{sink.resource_id}
For the example above, this would result in topic filter
+/1234/+/+/0/device1/5678/0/2/A100
and the request would get published to topic
device2/1234/4/2/0/device1/5678/0/2/A100
which would match the topic filter.

@PLeVasseur @jjj-vtm WDYT?

Yup, this proposal makes sense to me! Maybe just because I've had to look at the u32 representation with the instance id in the top 16 bits and the type in the bottom 16 bits that it was briefly harder to read what was going on, but I think this is fine.

Well, I thought we would order the segments from the abstract towards the specific ... ;-)

a) it is a breaking change

True, but I guess we do not have much of an installation base (yet) and we are still in alpha release phase anyway, so breaking the API should still be acceptable.

and b) we increase the topic tree depth which causes higher load on the MQTT broker.

However, this only affects uE-to-uE traffic within a single vehicle where we only expect a limited number of topics anyway, right?

True, but I guess we do not have much of an installation base (yet) and we are still in alpha release phase anyway, so breaking the API should still be acceptable.
Correct, I am fine with it.

However, this only affects uE-to-uE traffic within a single vehicle where we only expect a limited number of topics anyway, right?

It would affect all uProtocol MQTT communication since we would use 10 level deep topics instead of 8 but I think the impact should be negligible at least for small/medium deployments.


testreport reports the number calls of S/R load_fields_driver and do_oceanic_phys

What changes does this PR introduce?
new feature
What is the current behaviour?
testreport reports only taf errors and warnings (part of #437)
What is the new behaviour
testreport counts the number calls of S/R load_fields_driver and do_oceanic_phys in AD-code to get an warning for unnecessary recomputations
Does this PR introduce a breaking change?
No, just additional debugging information
Suggested addition to tag-index
o make testreport count and report the number calls of S/R load_fields_driver and do_oceanic_phys in AD-code

@mjlosch I simplify a little bit and also remove the leading space in front of the WARNING since, as this is not part of the "normal" report, I thought it would look better this way (easier to distinguish form "normal" report). Please take a look and change what you feel like changing.

LGTM.
I noticed that when I rerun testreport with "-q" and make TAF fail, for some reason ad_output_ad.f is still around and is evaluated (so that led and dop are nonzero). I guess it is not a problem, because when the experiment fails with some errors, we don't care about the number of subroutine calls.

I just gave this a whirl and I think this will be super helpful - thanks @mjlosch! My only comment is that I would personally be happy for the this output to be slightly more visible, with it either printed to the screen or into the tr_out.txt file. Even when this check "fails", i.e. one of the subroutines is called more than it should be, it is pretty invisible to the user unless they know to dig into summary.txt.

@mjlosch regarding this issue, we could leave it as it is ; if it turns out to be a problem, could allways skip the S/R call count when TAF returns errors.

Unless someone complains, will merge this PR later today.

@timothyas these counts are making their way to tr_out.txt (at least, it's what I saw). Could you confirm it's also the case for you ?
They are not less visible than the TAF error count and TAF recomputation warning count (which I like personally).

I do not see it in tr_out.txt, I only see them in tr_directory/experiment/summary.txt.

  N/O   obcs_ctrl  (e=0, w=0, lfd=1, dop=1)'


VIM-S

Any plans for uploading the weights for the vim-s model?

Hello,
We have uploaded the weights for small models to HuggingFace. You can find the links in our README.md.


fontbakery-build-fontmetadata.py Add 'unknown' output mode to

I need a new arg for fontbakery-build-fontmetadata.py that, given a set of TTFs and an existing font-metadata.csv file, it lists font files that do NOT have metadata.
ie,
take the list of all the TTFs in the repo,
and the list of TTFs in the CSV,
and subtract the 2nd list from the 1st
$ python2 src/github.com/googlefonts/fontbakery/tools/fontbakery-build-fontmetadata.py --files="fonts/*/*/*ttf" --existing=fonts/tools/font-metadata.csv -o newfont-metadata.csv --unknown;

The result is that the http://<IP_ADDRESS>:5000/static/index.html page only has a table showing the fonts that did not have metadata values before

ok, that sounds good!

WIP @ https://github.com/googlefonts/fontbakery/commit/b974d9cdb2e66df4d5d2f323b7bb083302d118b5

Currently it says:
$ python2 path/to/fontbakery/tools/fontbakery-build-fontmetadata.py --files="fonts/*/*/*ttf" --existing=fonts/tools/font-metadata.csv -o font-metadata-fonts-unknown.csv -m;

These files were removed from the list: ['ABeeZee:italic:400', 'ABeeZee:normal:400', ...

I would like it to say:
These files were removed from the list:

fonts/ofl/abeezee/ABeeZee-Italic.ttf:ABeeZee:italic:400
fonts/ofl/abeezee/ABeeZee-Regular.ttf:ABeeZee:normal:400


Moving colcon-ros-bazel repository

Just to report that I'm going to work on a colcon extension to build projects with Bazel for ROS.
I moving it to this organization unit, can you add admin access ?
https://github.com/Theosakamg/colcon-ros-bazel

:+1: done

Thanks


Added Shell Sort [C#]

Fixes #431
By submitting this pull request I confirm I've read and complied with the below declarations.

[X] I have read the Contribution guidelines and I am confident that my PR reflects them.
[X] I have followed the coding guidelines for this project.
[ ] My code follows the skeleton code structure.
[X] This pull request has a descriptive title. For example, Added {Algorithm/DS name} [{Language}], not Update README.md or Added new code.
[X] This pull request will be closed if I fail to update it even once in a continuous time span of 7 days.

Resolve Conflicts

@aviaryan @singhpratyush Please review.


Add GSoC blog post

Adds a blog post describing some potential GSoC projects. Any other comments are welcome.

Awesome writeup!

Looks great, thanks @cpfiffer!


Float timeseries

Aimed at fixing https://github.com/SNEWS2/SNEWS_Publishing_Tools/issues/87
~also fixes https://github.com/SNEWS2/SNEWS_Publishing_Tools/issues/97~ (moved this fix to https://github.com/SNEWS2/SNEWS_Publishing_Tools/pull/99)
Previously, we were expecting iso-formattable time strings for all the entries in the expected timing_series .
However, this can easily become too large. As was suggested by others, this PR implements a float conversion.
It first checks if all the values are strings or floats/integers.

If they are strings, it converts them to numpy datetime objects, sort by value, look at the relative time delta's from the first ever value in the list.
If they are floats/integers it also checks if the "neutrino_time" is explicitly given.

Right now, the logic is missing. I do not know if we should always force initial neutrino time too, or should this be fetched from the Coincidence Tier by time tier people?
I imagine a list of time series starting with 0 is not fully useful if we do not know what the 0 refers to.

Reverted the firedrill fix (ee7f062), as I added that in a minor patch

Have we been able to reproduce #87 ?  If there's an unexpected hard limit on message size, we need to take that to scimma as a bug, since the original specs were "sure, you guys can hove anything around including big skymaps"

Great, thanks.  If we convert that to bytes (since we're sending in ASCII one number is a lot of characters), what's that look like?  I've got the attention of scimma devs at the moment.

See https://github.com/SNEWS2/SNEWS_Publishing_Tools/issues/87#issuecomment-2105083319 for a potential solution.

The scimma people report that the default max message size is 1MB.  They're leery to increase that to head off future scaling problems, and are working on a large file offload service.  But: now knowing this we can plan for it, with efficiencies like this PR helping.  Could imagine daisy-chaining things together like SMS messages that go over 140 characters, too.


Error with getConnInfo in Bun.

What version of Hono are you using?
4.5.2
What runtime/platform is your app running on?
Bun
What steps can reproduce the bug?
import { Hono } from 'hono'
import { getConnInfo } from 'hono/bun'

const app = new Hono()

app.post('/', async (c) => {
  const body = await c.req.text() //Maybe does not work if it's c.req.* with “await”.
  const IP = getConnInfo(c).remote.address
  return c.text(IP)
})

export default app

What is the expected behavior?
return IP address
What do you see instead?
Internal Server Error
Additional information
error message on console
 9 |     throw new TypeError("server.requestIP is not a function.");
10 |   }
11 |   const info = server.requestIP(c.req.raw);
12 |   return {
13 |     remote: {
14 |       address: info.address,
                    ^
TypeError: null is not an object (evaluating 'info.address')
      at getConnInfo (hono-error\node_modules\hono\dist\adapter\bun\conninfo.js:14:16)
      at hono-error\src\index.ts:8:14

Please try to use Bun.serve

It worked in my environment (Bun 1.1.18).
Please give me more information of environment.

Bun version is v1.1.21

It worked on latest Bun 1.1.21.
Try upgrading.

Hi @taisan11
This may be a bug. I'll investigate it. Thanks for reporting.

This is not a Hono's bug but a Bun's matter, though I don't know if it is a real bug or not: https://github.com/oven-sh/bun/issues/11756

Regarding this issue, we don't have anything we can do. So, I am closing this now.

Looking at the environmental source of the issue, it seems to be a bug on linux.
I'm using windows, so I may not have been able to reproduce the bug.

I am experiencing the same issue. I am using macOS M3 with Bun version 1.1.21. Not being able to retrieve the IP address is a significant problem.

hi @faytekin
This problem can be avoided by passing the ip address directly to the env object.
Or by setting it to Variables in the frontmost middleware.

Update: https://github.com/oven-sh/bun/issues/11756 was fixed last week. It's working now


rename org to stolostron for release 2.3

https://github.com/stolostron/backlog/issues/18733
Signed-off-by: Marco<EMAIL_ADDRESS>

/lgtm


Help With Air Conditioner Yamato Optimum tuya

im trying for 1 week to connect with my air conditioners, i have errors and erros if someone can help me out please with this i will kindly apreciate
[7/14/2022, 9:23:41 PM] [TuyaLan] Ready to handle My Air Conditioner (SimpleLight:3.3) with signature {"1":true,"2":270,"3":27,"4":"cold","5":"strong","18":0,"20":0,"101":0,"105":"off","110":4325951,"113":"0","114":"0","116":4335,"119":"0","120":"off","123":"0018","125":"great","126":"0","127":"0","128":"0","129":"1","130":26,"131":false,"132":false,"133":"0","134":"{"t":1656959851,"s":false,"clr":true}","135":1}

i also get this error
[7/14/2022, 9:48:59 PM] [Hue] Phoscon-GW: request 12: GET /sensors
[7/14/2022, 9:48:59 PM] [Hue] Phoscon-GW: request 12: 200 OK
[TuyaAccessory] Heard back from AC Daitsu with command 8
[7/14/2022, 9:49:00 PM] [homebridge-tuya-lan] This plugin generated a warning from the characteristic 'Rotation Speed': characteristic value expected valid finite number and received "undefined" (undefined). See https://homebridge.io/w/JtMGR for more info.
[7/14/2022, 9:49:00 PM] [homebridge-tuya-lan] Error:
at RotationSpeed.Characteristic.characteristicWarning (/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2142:105)
at RotationSpeed.Characteristic.validateUserInput (/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2030:14)
at RotationSpeed.Characteristic.updateValue (/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:1457:20)
at TuyaAccessory. (/homebridge/node_modules/homebridge-tuya-lan/lib/AirConditionerAccessory.js:195:105)
at TuyaAccessory.emit (node:events:527:28)
at TuyaAccessory._change (/homebridge/node_modules/homebridge-tuya-lan/lib/TuyaAccessory.js:387:18)
at TuyaAccessory._msgHandler_3_3 (/homebridge/node_modules/homebridge-tuya-lan/lib/TuyaAccessory.js:317:30)
at /homebridge/node_modules/homebridge-tuya-lan/node_modules/async/dist/async.js:4016:13
at Object.process (/homebridge/node_modules/homebridge-tuya-lan/node_modules/async/dist/async.js:1679:21)
at /homebridge/node_modules/homebridge-tuya-lan/node_modules/async/dist/async.js:1531:23
[7/14/2022, 9:49:04 PM] [Hue] Phoscon-GW: request 13: GET /sensors


boring resourse leaks again

trying to get rid of all the resource leak issues in coverity and findbug, I started with those not in upgrade code.
the upgrade code will be a big bunch of tedious work. Not sure if that should be done at all,

one of the travis jobs timedout. builds.a.o is down to see what caused the failures
code changes looks good :+1:

LGTM :+1:
:)


feat: Add readme and local run bash script for E2E tests

Description
Add readme to E2E directory to explain the purpose, how to run locally, and how they are run in the CI pipeline.
Add a bash script for running E2E tests locally.
Linked Issues/Tasks
Add any links to GitHub issues or Asana tasks that are relevant to this pull request.
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Refactoring (improving code without creating new functionality)

Tests

[x] Detox test
[ ] Unit test
[ ] No test

Screenshot / Video
None
QA Notes
None

@catch-21 please do no forget to add Projects information and sprint


is threading_utils.py deprecated?

I can't find any reference to its methods in the package scripts @ewong347

Yes - I wanted to clean up db_utils.py, so I pulled the multi-threading functions out of db_utils. I stored them in threading_utils.py just in case we wanted to take another crack at it in the future. However with the PANGOLIN/minimap pipeline, I think there's no use for it anymore.


[WIP] Feature/export-tool

LEI-67
Current state:

Can you please add an example usage in the comments?


Re-enable explicit specification of server port for qps worker

This flag was needed in some test scenarios.
Also add in a check that we don't try to use generic testing for sync or unary.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

LGTM other than the nit.

Thanks, I have addressed your comment.

LGTM, waiting for green


[Feature request] add ui kitten eva-icons support

Hi, I'm using the ui-kitten icons.
const evaIconRenderer = ({icon}: IIconRenderer) => <Icon name={icon} />;

const CustomTabBar: React.FC<BottomTabBarProps> = ({
  state,
  descriptors,
  navigation,
}) => {
  return (
    <BubbleTabBar
      state={state}
      descriptors={descriptors}
      navigation={navigation}
      tabs={tabs}
      iconRenderer={evaIconRenderer}
    />
  );
};

Even with the iconRenderer, I cannot get the icons show up.
Possibly this is due to the fact that eva icon is rendering icons with JSX elements.
The active highlight becomes eerily big.

@kockok, Thanks for the issue & sorry for the late reply. Hadn't check my inbox,, 😰
I promise to investigate it tommorrow ! 🚀