Implement Linux hardware and software exception handling

This change implements code manager for Linux, context manipulation
and compiler changes necessary to enable exception handling.
All calls to libunwind are disabled for now on non-OSX though, since
our build system doesn't support specifying additional dynamic
libraries, which prevents us from using the libunwind.
Those pieces of code are under CAN_LINK_SHARED_LIBUNWIND ifdef so
that the ifdef can easily be located and removed after we add
the necessary support to the build system.
On OSX, the unwind functionality is part of the compiler support
libraries, so it works.
I have verified that everything works with the libunwind though
by manually invoking clang to link everything together and adding
the necessary libraries to its command line. The exception handling
test was passing with that.

@jkotas can you take a look please?

LGTM otherwise. Thanks!

@jkotas I've reflected all your feedback (separate commit so that you can see the delta)

Implements #911


Syscall param writev(vector[...]) points to uninitialised byte(s)

I've implemented a consume class
#ifndef UTILS_BINLOG_CONSUME_THREAD_HPP
#define UTILS_BINLOG_CONSUME_THREAD_HPP

#include <atomic>
#include <fstream>
#include <string>
#include <thread>

#include "binlog/binlog.hpp"

namespace utils {

/**
* @brief Setup a thread to run continously polling for binlog logging events and write them to the provided file
*/
class BinlogConsumeThread
{
public:
  explicit BinlogConsumeThread(const std::string & file_path);

  BinlogConsumeThread(const BinlogConsumeThread &) = delete;
  BinlogConsumeThread(BinlogConsumeThread &&) noexcept = delete;
  BinlogConsumeThread & operator=(const BinlogConsumeThread &) = delete;
  BinlogConsumeThread & operator=(BinlogConsumeThread &&) noexcept = delete;

  ~BinlogConsumeThread();

private:
  std::ofstream log_file_;
  std::atomic<bool> shut_down_ = false;
  std::thread thread_;
};

} // namespace utils

#endif // UTILS_BINLOG_CONSUME_THREAD_HPP

 #include "utils/binlog_consume_thread.hpp"

namespace utils {

BinlogConsumeThread::BinlogConsumeThread(const std::string & file_path) :
  log_file_{file_path, std::ofstream::out | std::ofstream::binary},
  thread_{[&]() {
	  while(!shut_down_.load(std::memory_order_acquire))
	  {
		  binlog::consume(log_file_);
		  log_file_.flush();
		  std::this_thread::yield();
	  }
  }}
{}

BinlogConsumeThread::~BinlogConsumeThread()
{
  shut_down_.store(true, std::memory_order_release);
  thread_.join();
}

} // namespace utils

which is started from
main(){
   [[maybe_unused]] auto logging_thread = BinLogConsumeThread{"/tmp/log.blog"};
}

and I'm getting valgrind errors on shutdown (details below). Not sure if this an issue within binlog or with my understanding of acceptable ways to call consume from a secondary thread?
==36777== Syscall param writev(vector[...]) points to uninitialised byte(s)
==36777==    at 0x61D7230: writev (in /usr/lib64/libc-2.17.so)
==36777==    by 0x57286C4: std::__basic_file<char>::xsputn_2(char const*, long, char const*, long) (in /usr/lib64/libstdc++.so.6.0.19)
==36777==    by 0x5761C63: std::basic_filebuf<char, std::char_traits<char> >::xsputn(char const*, long) (in /usr/lib64/libstdc++.so.6.0.19)
==36777==    by 0x5742641: std::ostream::write(char const*, long) (in /usr/lib64/libstdc++.so.6.0.19)
==36777==    by 0x4271EF: binlog::Session::ConsumeResult binlog::Session::consume<std::basic_ofstream<char, std::char_traits<char> > >(std::basic_ofstream<char, std::char_traits<char> >&) (Session.hpp:336)
==36777==    by 0x426F02: binlog::Session::ConsumeResult binlog::consume<std::basic_ofstream<char, std::char_traits<char> > >(std::basic_ofstream<char, std::char_traits<char> >&) (default_session.hpp:53)
==36777==    by 0x4260D3: utils::BinlogConsumeThread::BinlogConsumeThread(std::string const&)::{lambda()#1}::operator()() const (binlog_consume_thread.cpp:10)
==36777==    by 0x426605: void std::__invoke_impl<void, utils::BinlogConsumeThread::BinlogConsumeThread(std::string const&)::{lambda()#1}>(std::__invoke_other, utils::BinlogConsumeThread::BinlogConsumeThread(std::string const&)::{lambda()#1}&&) (invoke.h:60)
==36777==    by 0x4265BA: std::__invoke_result<utils::BinlogConsumeThread::BinlogConsumeThread(std::string const&)::{lambda()#1}>::type std::__invoke<utils::BinlogConsumeThread::BinlogConsumeThread(std::string const&)::{lambda()#1}>(std::__invoke_result&&, (utils::BinlogConsumeThread::BinlogConsumeThread(std::string const&)::{lambda()#1}&&)...) (invoke.h:95)
==36777==    by 0x426567: void std::thread::_Invoker<std::tuple<utils::BinlogConsumeThread::BinlogConsumeThread(std::string const&)::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (thread:244)
==36777==    by 0x42653D: std::thread::_Invoker<std::tuple<utils::BinlogConsumeThread::BinlogConsumeThread(std::string const&)::{lambda()#1}> >::operator()() (thread:251)
==36777==    by 0x426521: std::thread::_State_impl<std::thread::_Invoker<std::tuple<utils::BinlogConsumeThread::BinlogConsumeThread(std::string const&)::{lambda()#1}> > >::_M_run() (thread:195)
==36777==  Address 0x766ce8f is 159 bytes inside a block of size 1,048,632 alloc'd
==36777==    at 0x4C2ABF8: operator new[](unsigned long) (vg_replace_malloc.c:433)
==36777==    by 0x40B089: binlog::Session::Channel::Channel(binlog::Session&, unsigned long, binlog::WriterProp) (Session.hpp:199)
==36777==    by 0x4243C3: void __gnu_cxx::new_allocator<binlog::Session::Channel>::construct<binlog::Session::Channel, binlog::Session&, unsigned long&, binlog::WriterProp>(binlog::Session::Channel*, binlog::Session&, unsigned long&, binlog::WriterProp&&) (new_allocator.h:147)
==36777==    by 0x4226E3: void std::allocator_traits<std::allocator<binlog::Session::Channel> >::construct<binlog::Session::Channel, binlog::Session&, unsigned long&, binlog::WriterProp>(std::allocator<binlog::Session::Channel>&, binlog::Session::Channel*, binlog::Session&, unsigned long&, binlog::WriterProp&&) (alloc_traits.h:484)
==36777==    by 0x41FF27: std::_Sp_counted_ptr_inplace<binlog::Session::Channel, std::allocator<binlog::Session::Channel>, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr_inplace<binlog::Session&, unsigned long&, binlog::WriterProp>(std::allocator<binlog::Session::Channel>, binlog::Session&, unsigned long&, binlog::WriterProp&&) (shared_ptr_base.h:548)
==36777==    by 0x41BC38: std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<binlog::Session::Channel, std::allocator<binlog::Session::Channel>, binlog::Session&, unsigned long&, binlog::WriterProp>(binlog::Session::Channel*&, std::_Sp_alloc_shared_tag<std::allocator<binlog::Session::Channel> >, binlog::Session&, unsigned long&, binlog::WriterProp&&) (shared_ptr_base.h:679)
==36777==    by 0x417DC9: std::__shared_ptr<binlog::Session::Channel, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::allocator<binlog::Session::Channel>, binlog::Session&, unsigned long&, binlog::WriterProp>(std::_Sp_alloc_shared_tag<std::allocator<binlog::Session::Channel> >, binlog::Session&, unsigned long&, binlog::WriterProp&&) (shared_ptr_base.h:1344)
==36777==    by 0x414FFA: std::shared_ptr<binlog::Session::Channel>::shared_ptr<std::allocator<binlog::Session::Channel>, binlog::Session&, unsigned long&, binlog::WriterProp>(std::_Sp_alloc_shared_tag<std::allocator<binlog::Session::Channel> >, binlog::Session&, unsigned long&, binlog::WriterProp&&) (shared_ptr.h:359)
==36777==    by 0x411FDE: std::shared_ptr<binlog::Session::Channel> std::allocate_shared<binlog::Session::Channel, std::allocator<binlog::Session::Channel>, binlog::Session&, unsigned long&, binlog::WriterProp>(std::allocator<binlog::Session::Channel> const&, binlog::Session&, unsigned long&, binlog::WriterProp&&) (shared_ptr.h:702)
==36777==    by 0x40E930: std::shared_ptr<binlog::Session::Channel> std::make_shared<binlog::Session::Channel, binlog::Session&, unsigned long&, binlog::WriterProp>(binlog::Session&, unsigned long&, binlog::WriterProp&&) (shared_ptr.h:718)
==36777==    by 0x40B2AC: binlog::Session::createChannel(unsigned long, binlog::WriterProp) (Session.hpp:241)
==36777==    by 0x40B885: binlog::SessionWriter::SessionWriter(binlog::Session&, unsigned long, unsigned long, std::string) (SessionWriter.hpp:126)

Thanks for reporting. Can you please provide a MVCE? Is this reproducible? Does the same error happen with ASAN?
It seems that valgrind reports that the consumer is reading uninitialized data from the 1MB SPSC queue of the channel, probably after 159-56 bytes are already consumed. (56=7*8 bytes consists of the queue header, allocated together with the queue data)

No issues with ASan and 100% reproducible when run as part of our unit tests. Not able to reproduce with a simple example as yet.

Any thought son debugging information I could obtain for this? I've tried stripping down our unit tests as much as possible to replicate this but there's still a lot of code in them that when removed stops this error form happening. Not sure what else to look at. Would a binary dump of whats in the buffer at the time of output help?

@andrewkcorcoran : The queue the writer writes consist of a control block, and a large buffer, allocated together in the Session::Channel constructor:
https://github.com/Morgan-Stanley/binlog/blob/master/include/binlog/Session.hpp#L212
The queue is a lockfree circular buffer of bytes.
A few things that could cause the issue above:

Some value is serialized to N bytes, but reported to take M > N bytes, causing a larger buffer to be allocated and consumed from the queue
The queue consume logic is flawed, and returns unwritten data
Valgrind does not understand the atomic synchronization primitives used to communicate written data
???

Here's the plan:

I suppose you are using BINLOG_INFO et. al, that takes the writer from default_thread_local_writer. By default, the queue allocated for each writer is 1MB. Change the size to something big, that is strictly larger than the whole logfile the unittest otherwise produces, while reproduces the issue:
```
- static thread_local SessionWriter s_writer(default_session());
+ static thread_local SessionWriter s_writer(default_session(), 1 << 30); // example
```

Make sure valgrind still reports an error.

Set valgrind --malloc-fill=DE or equivalent. Make sure the error persists.

Take a look at the memory dump around the error. Look for the poison bytes set in step 2. If you can't figure it out, share the relevant part of the dump, and possibly the logfile.

I can't tell which instances of the poison bytes are genuine problems and which are just data with the same value.  Does this "159" match the position of de in the dump above? What's the address of each dumped buffer?

The two runs were independent and so can't be looked at together.
Running the code as is with gdb attached still resulted in one of the valgrind errors but not the one that gave the exact byte and block which was uninitialised. I added a loop in Session.hpp just before the out.write call which tries to print each byte in turn to std::cout. That way I was able to get the exact byte that valgrind thinks is uninitialised.
Below is a brand new run and a memdump of the first 160 bytes of data.buffer1 (data.size1 == 24512). Byte number 103 is what triggers the uninitialised error in valgrind. Note it is have a value of 0x00 despite running with --malloc-fill=DE`.
10 00 00 00 01 00 00 00 00 00 00 00 b2 57 94 7f 4d f5 05 16 10 00 00 00 02 00 00 00 00 00 00 00 1e d8 c4 80 4d f5 05 16 43 00 00 00 03 00 00 00 00 00 00 00 cc e5 20 83 4d f5 05 16 04 00 00 00 54 45 53 54 01 00 00 00 00 00 00 00 0a 00 00 00 00 00 00 00 0a 00 00 00 00 00 00 00 03 00 00 00 42 75 79 00 00 00 00 00 00 00 00 00 00 00 00 10 00 00 00 04 00 00 00 00 00 00 00 3c 71 2b 84 4d f5 05 16 28 00 00 00 05 00 00 00 00 00 00 00 bf 6e db 84 4d f5 05 16 04 00 00 00 54 45 53 54 01

Just to make sure: does the valgrind error say "Address ... is 103 bytes inside a block [...]"? As byte N inside the allocated block means byte N-56 in the log data buffer (56 is the size of the header allocated together with the buffer).
Before byte 103 in the pasted buffer, a string "Buy" was logged, followed by 12 zero bytes, one of them valgrind complains about. Those are followed by something else that appears to be a different event, from the same source, id = 4. How does the event source the logs "Buy" look like? Is it correct that it also produces 12 zeros? (e.g: int{0}, int64{0}).

Thanks for the help, I managed to figure out what was going on.
We had a mock struct with several fields. One of the fields was an uninitialised integer, but this field was never accessed in any of our tested code - it was only getting logged. Hence why the error only showed up within the binlog stack and looked like an issue inside binlog rather than inside our code. Sorry for wasting your time on what turned out to be our issue :/


change port for web

Short Description:
This will prevent lots of error with online ui
Changes:

change port for web to 8001

@OpenPoGo/maintainers
this will prevent conflict with socket

👍

Current coverage is 38.56% (diff: 0.00%)

Merging #263 into master will not change coverage

@@             master       #263   diff @@
==========================================
  Files            30         30
  Lines          1390       1390
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits            536        536
  Misses          854        854
  Partials          0          0

Powered by Codecov. Last update d1a35df...b68f9ff

👍


Lettuce master slave connection not work with Azure redis standard tier which has master slave replication

Azure redis standard and premium tier provide master slave replication by exposing one load balance endpoint. Requests to such endpoint will always be forwarded to master node. I suppose this should work with Standalone Master/Slave node according to https://github.com/lettuce-io/lettuce-core/wiki/Master-Slave, but got exceptions as below
Exception in thread "main" com.lambdaworks.redis.RedisConnectionException: Unable to establish a connection to Redis Cluster
	at com.lambdaworks.redis.masterslave.AsyncConnections.get(AsyncConnections.java:80)
	at com.lambdaworks.redis.masterslave.MasterSlaveTopologyRefresh.getNodes(MasterSlaveTopologyRefresh.java:76)
	at com.lambdaworks.redis.masterslave.MasterSlave.connectMasterSlave(MasterSlave.java:224)
	at com.lambdaworks.redis.masterslave.MasterSlave.connect(MasterSlave.java:118)
	at lettuce.LettuceTest.main(LettuceTest.java:25)
	Suppressed: com.lambdaworks.redis.RedisConnectionException: Unable to connect to RedisURI [host='warren-eus3.redis.cache.windows.net', port=6380]
		at com.lambdaworks.redis.masterslave.MasterSlaveTopologyRefresh.lambda$getConnections$0(MasterSlaveTopologyRefresh.java:160)
		at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)
		at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)
		at java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:474)
		at java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:561)
		at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:580)
		at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442)
		at io.netty.util.concurrent.DefaultEventExecutor.run(DefaultEventExecutor.java:66)
		at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:858)
		at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:138)
		at java.lang.Thread.run(Thread.java:748)
	Caused by: java.util.concurrent.CompletionException: com.lambdaworks.redis.RedisException: java.io.IOException: An existing connection was forcibly closed by the remote host
		at java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:273)
		at java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:280)
		at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:604)
		at java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)
		... 5 more
	Caused by: com.lambdaworks.redis.RedisException: java.io.IOException: An existing connection was forcibly closed by the remote host
		at com.lambdaworks.redis.LettuceFutures.await(LettuceFutures.java:130)
		at com.lambdaworks.redis.LettuceFutures.awaitOrCancel(LettuceFutures.java:96)
		at com.lambdaworks.redis.AbstractRedisAsyncCommands.auth(AbstractRedisAsyncCommands.java:80)
		at com.lambdaworks.redis.RedisClient.lambda$connectStatefulAsync$1(RedisClient.java:531)
		at java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602)
		... 6 more
	Caused by: java.io.IOException: An existing connection was forcibly closed by the remote host
		at sun.nio.ch.SocketDispatcher.read0(Native Method)
		at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:43)
		at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223)
		at sun.nio.ch.IOUtil.read(IOUtil.java:192)
		at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380)
		at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:288)
		at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1100)
		at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:372)
		at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:123)
		at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:644)
		at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:579)
		at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:496)
		at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:458)
		... 3 more

But I can use normal StatefulRedisConnection, which worked fine.
Several questions regarding this:

Did I use Master\Slave the right way?
What's the difference between normal and master/slave connection?
Why such exception is thrown?

Azure Redis prefers SSL connections and Lettuce does not support Master/Slave with SSL because Redis itself isn't aware of SSL ports. We introduced a change with #684 to retain SSL flags on the actual RedisURI if someone wants to use SSL with Master/Slave.
The difference between MasterSlave.connect(…) and RedisClient.connect(…) is that MasterSlave connections perform read routing themselves to slave nodes whereas RedisClient.connect(…) just operates on the node it is connected to.
I honestly do not know how Azure implemented Master/Slave with SSL. Lettuce uses details from INFO REPLICATION to determine node roles and addresses of the nodes.
I think the exception is thrown because the host you want to connect to (at port 6780) expects a SSL handshake and the client connected in plaintext mode.
You might want to use the current snapshot build (4.4.3.SNAPSHOT) to re-test with SSL enabled.


The "<" operator is reserved for future use.

Not sure where I'm going wrong using the powershell script.  I'm getting the following error "The "<" operator is reserved for future use. ".

Please provide the entire command line you are using to run checkjndi.ps1 and also the entire output.

PS C:\temp> .\checkjndi.ps1
At C:\temp\checkjndi.ps1:235 char:19

          Sign up

              ~

The ampersand (&) character is not allowed. The & operator is reserved for future use; wrap an ampersand in double quotation marks ("&") to pass it as part of a
string.
At C:\temp\checkjndi.ps1:238 char:180

... -details-target btn-link d-lg-none mt-1 color-fg-inherit">  <svg aria ...

                                                            ~

The '<' operator is reserved for future use.
At C:\temp\checkjndi.ps1:241 char:16

           ~

The '<' operator is reserved for future use.
At C:\temp\checkjndi.ps1:246 char:148

... -view-component="true" class="js-details-target btn-link">  <svg aria ...

                                                            ~

The '<' operator is reserved for future use.
At C:\temp\checkjndi.ps1:249 char:16

           ~

The '<' operator is reserved for future use.
At C:\temp\checkjndi.ps1:264 char:7

  ~

The '<' operator is reserved for future use.
At C:\temp\checkjndi.ps1:269 char:7

  ~

The '<' operator is reserved for future use.
At C:\temp\checkjndi.ps1:274 char:7

  ~

The '<' operator is reserved for future use.
At C:\temp\checkjndi.ps1:279 char:7

  ~

The '<' operator is reserved for future use.
At C:\temp\checkjndi.ps1:284 char:7

  ~

The '<' operator is reserved for future use.
Not all parse errors were reported.  Correct the reported errors and try again.
+ CategoryInfo          : ParserError: (:) [], ParseException
+ FullyQualifiedErrorId : AmpersandNotAllowed

I don't know where / how you got your ps1 file, but that's definitely not the code in this repo.
Git clone it and try again. Or download the zip from github if git isn't your thing.


Update to Unicode 10.0/Emoji 5.0

Thanks a lot for this awesome project 💙💙💙

this will be a placeholder until at least one vendor has released images and the unicode spec has been finalized

Im not sure what you call a vendor, but Twitter released the Twemoji update yesterday.

Here is the full commit of the last update of Twemoji.

please take care of this, it's been over 5 months :(

work is happening in PR #100

this has been fixed in PR #100 which will become release 4.0.0


Update metal-uri to v3.0.0

Metal Uri 3.0.0 is compatible and runs in other environments apart from Node and browses - ReactNative, ReactVR, etc.
Metal Ajax depends on Metal Uri, so this module has to be updated here to allow Metal Ajax to work in these environments too.

This has been merged to the develop branch and scheduled for 3.0.0 milestone!


Expose the "restart on exit" OS functionality

This can be used to restart a project with specific command line arguments applied. This can work in tandem with OS.get_cmdline_args() to restart with the same command line arguments as used to originally run the project.
Example use cases:

Restart to apply an user setting change that requires a restart to work.
Restart with a Godot command line argument to change the video driver, audio driver, etc.

This currently only works if the project is not started from the editor. (It can be started from an editor binary via the command-line still.)
I don't know why this happens – help is welcome for troubleshooting this.
This PR can be remade for 3.x once we agree on its design.
This closes https://github.com/godotengine/godot-proposals/issues/3460.
Testing project: test_restart_on_exit.zip
Preview
https://user-images.githubusercontent.com/180032/140661931-dbd14083-8f4d-4a49-9d50-d8d5531b7ac1.mp4

Needs rebase

Rebased and tested again, it works as expected. I also added a testing project to OP for future reference and example usage.

Needs another rebase after #63624.

Thanks!


Add NHS ID consent questionnaire

Add NHS ID consent questionnaire

Obviously, we can't have a generic consent form if we need to mention the specifics of the study. I think for the BHF they are doing all this in one content form i.e. Study Consent + NHS-ID collection consent. It may make sense to split this into two. So we can have a generic NHS consent, which would always be paired with consent for the study (also in this way, you can consent for the study but not share your NHS-ID more easily.

Suggest we (for demonstration purposes) have a second consent form for the Study where we can use the same fields as the BHF study. But for the NHSID stuff, we can keep that separate and modular so that it can be appended to future studies consent that are study specific?
[Study Specific Consent e.g. BHF] + [NHSID Consent]

What's the status here? We can discuss next wk

What's the status here? We can discuss next wk

@afolarin I think I made most of the changes needed from the comments above. Is this ok to merge? We can make further changes in the future if needed.

Let's do this -- this is an example we can tweak with future studies, which will all doubtless have custom requirements etc.


broken link on documentation

BUG
Description:
On the documentation index page the link to geostyler docs is broken

@pvgenuchten Thx for contributing.
Seems like the real problem is, that the documentation didn't update since: https://github.com/terrestris/geostyler/commit/4c7d758064b5e428a45208785d1d87e2269301bb
I'll have a look at it.

Hi @KaiVolland, are there any news on this?

I tried to fix this with #1138. But it didn't help. Seems like there is still something wrong with the CI.

Thanks for the feedback @KaiVolland. Please ping me if I can support you somehow.

Automatic update of the gh-pages has been fixes by #1155. I'll close this issue as the described bug should be resolved by now.
Please note #1158.


[Question] tenant/init endpoint could be misused for scraping

From my perspective it is a little bit concerning, that the admin-api GET endpoint tenant/init  could be misused to scrape potential tenant names of the service which in turn would hand out some information about potential customers to anyone who is interested.
What do you think?

The challenge we are trying to solve here is mapping a user to an identity provider(Cognito userpool in this case). As your architecture can have multiple Cognito user pools.
Alternate approaches

Can have a subdomain per each tenant i.e., tenant1.example.com if request comes from this domain you can redirect to its identity provider for authentication
Can use domain name from email address and redirect to its identity provider for authentication
You can first authenticate the user then show the list of tenants they belong too. If they belong to one tenant you can just redirect them to that tenant space.

As Ujwal mentioned, that init endpoint is being used for discovery purposes. We just decided to use TenantName for the sake of simplicity, you can use other mechanisms as listed above.


Microprofile Opentracing & Fault Tolerance Strange behavior

Describe the bug
I have 3 microservices with microporfile 2.1 opentracing, Rest Client and Fault tolerance. I redirect all traces to a Jaeger server. The following code works fine
MsBInterface msBResource = RestClientBuilder.newBuilder()
	            .baseUri(URI.create(urlA))
	            .register(new SmallRyeClientTracingFeature(tracer))
	            .build(MsBInterface.class);

RestaurantInterface restaurantResource = RestClientBuilder.newBuilder()
	            .baseUri(URI.create(buidlURL("msA")))
	            .register(new SmallRyeClientTracingFeature(tracer))
	            .build(RestaurantInterface.class);

    @GET
    @Path("/resilience")
    @Produces(MediaType.TEXT_PLAIN)
    public String resilience() {

        Set<Restaurant> restaurants =  restaurantResource.getAll();

	for(Restaurant restaurant : restaurants) {
		msBResource.resilience(restaurant);
	}

        return "OK";
}

With this expected behavior in Jaeger

But when you try to use the Timeout tag in the method
    @GET
    @Fallback(fallbackMethod = "fallback")
    @Timeout(5000000)
    @Path("/resilience")
    @Produces(MediaType.TEXT_PLAIN)
    public String resilience() {

It splits the traces (the timeout do no ocurred)

I am not sure if this a Fault Tolerance error or a Opentracing error.
My pom dependencies
    <dependency>
      <groupId>org.eclipse.microprofile</groupId>
      <artifactId>microprofile</artifactId>
      <version>2.1</version>
      <type>pom</type>
      <scope>provided</scope>
    </dependency>

    <dependency>
	    <groupId>io.thorntail</groupId>
	    <artifactId>microprofile-opentracing</artifactId>
	</dependency>

	<dependency>
	    <groupId>io.thorntail</groupId>
	    <artifactId>microprofile-fault-tolerance</artifactId>
	</dependency>

	<dependency>
	    <groupId>io.thorntail</groupId>
	    <artifactId>jaeger</artifactId>
	</dependency>

This is a Thorntail v2 issue and hence belong to JIRA: https://issues.jboss.org/browse/THORN
I didn't try it, but our implementation of @Timeout delegates to an extra thread, so trace propagation might not work well in such case.

Thanks for filing https://issues.jboss.org/browse/THORN-2387, closing this one.


Add support for .factor files.

https://factorcode.org

Huh, I'd never heard of that language before. Thanks for the PR.


observeConnectionState - 5 second delay

Hi, First off, Thank you for writing this library.  It has made dealing with BLE a much better experience.
My question is, is there a faster way to get feedback from observeConnectionState?
I have a total of 6 BLE devices that I am connected to and my requirement is to stop all of the connections if any of the devices gets disconnected.
The callback works great and I am able to disconnect all of the devices if 1 becomes disconnected but there's about a 5 second delay from when I pull the battery off 1 device until the time the callback gets called?

The 5 seconds delay is called the Connection  Timeout and is a lowlevel BLE thing. You can also see this number in de logs when the connection parameters are negotiated between central and peripheral. Basically it is the time they agree on to determine if a connection must be considered dropped.
In other words, there is nothing we can do about it in this library.


WIP: support update endpoints at runtime

Fix #334

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

29 of 33 (87.88%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.2%) to 75.078%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

client/client.go
29
33
87.88%

Files with Coverage Reduction
New Missed Lines
%

client/client.go
1
72.62%

Totals

Change from base Build<PHONE_NUMBER>:
0.2%

Covered Lines:
5022

Relevant Lines:
6689

💛  - Coveralls

ping

@halfcrazy could you squash the commits? Otherwise LGTM, though bonus points if you add a testcase that keeps endpoint1 as the first item in Update() and then ensures there's no disconnect.

I'll add a test tomorrow and ping

@dcbw Added the test.


Pen Size

Allow for drawing 2x2 and 3x3 voxels.

+1

You guys think this should be rectangular?

For the basic pen, yes
In the future you could add other pens or add the posibility to add your own pens


feat: Security Rules Management API

RELEASE NOTE: Added a new admin.securityRules() API for managing Firebase security rules applied on services like Cloud Firestore and Cloud Storage.
RELEASE NOTE: Added getFirestoreRuleset() and getStorageRuleset() methods for retrieving rulesets that are currently in effect.
RELEASE NOTE: Added releaseFirestoreRuleset() and releaseStorageRuleset() methods for creating new rulesets and applying them to Firestore and Storage.
RELEASE NOTE: Added getRuleset(), createRuleset() and deleteRuleset() methods for managing the lifecycle of a ruleset.

Thanks @egilmorez. Made some of the changes suggested. As for adding backticks, I don't think it's needed there since they are rendered as comments in an example snippet. WDYT?


feat(FX-4305): add ability to hide bottom tabs

This PR resolves FX-4305
Problems
Problem 1
Strange behavior on iOS if you open a previously visited page again
https://user-images.githubusercontent.com/3513494/200888373-252b1c99-622a-405a-b357-0ca7f85e67c4.mp4
Problem 2
There is a possibility that the display state of bottom tabs may be overwritten if setTabProps is used somewhere in the code (for example, like this or this). To solve this potential problem, we can store the display state of bottoms tabs for the current tab not in tabProps (see example below)
export interface BottomTabsModel {
  sessionState: {
    ...
    tabProps: Partial<{ [k in BottomTabType]: object }>
    visibleStateByTab: Partial<{ [k in BottomTabType]: boolean }>
  }
  ...
}

export const getBottomTabsModel = (): BottomTabsModel => ({
  ...
  toggleBottomTabForCurrentTab: action((state, { isVisible }) => {
    const selectedTab = state.sessionState.selectedTab
    state.sessionState.visibleStateByTab[selectedTab] = isVisible
  }),
})

PR Checklist

[ ] I tested my changes on iOS / Android.
[ ] I added screenshots or videos to illustrate my changes.
[ ] I added Tests and Stories for my changes.
[ ] I added an app state migration.
[ ] I hid my changes behind a feature flag.
[ ] I have prefixed changes that need to be tested during a release QA with [NEEDS EXTERNAL QA] on the changelog.

To the reviewers 👀

[ ] I would like at least one of the reviewers to run this PR on the simulator or device.

Changelog updates
Changelog updates

Cross-platform user-facing changes

iOS user-facing changes

Android user-facing changes

Dev changes

Need help with something? Have a look at our docs, or get in touch with us.

Closed because another working method was found: artsy/eigen#7760


Proper device handler

sriovDevHandler: Call out to vsp for dev handling
Previously, the Sriov Device Handler would manually set num vfs /
retrieve the pci device information since this api was not provided by
the vsp.

This has since been added [1]. This function should be offloaded to the
vsp.

Follow up to [2].

[1] https://github.com/intel/ipu-opi-plugins/pull/223/files#diff-8c7117bca54284b14fe9e0bc34ae12dc71015bf5f97bad23b66ff8a5b0dac50a
[2] https://github.com/openshift/dpu-operator/pull/124/commits/82693320263591feda2c535c085fb615edad4732#diff-0fbf78ae52181d6f4802d984f45af934e1dcc5f8f2c9c044b720c83493dcb4e6

@bn222 PTAL this is needed to complete the tasks for M1

/test make-e2e-test

/test make-fast-e2e-test

/test make-e2e-test

/lgtm


Thread-Safety Issues

This issue was created to track thread-safety issues in the early stages of the development of Atlas.

Looping over the gameAds list isn't thread-safe. This may cause problems if a game is added or removed while this loop is processing. This safety issue is a systemic problem within Atlas however, and I understand if this is out of scope; I would just add a lock{} around it.
Originally posted by @carlbennett in https://github.com/BNETDocs/Atlas/pull/13#discussion_r532174135

Maybe I can help out. Are you worried about adding locks? If not, I can go through and analyze the multithreaded stuff so it's all thread-safe with locks.

@x3haloed If you want to fork the project and assist by creating a pull request with your work, it would be reviewed and likely welcomed.


Add HasMinItems  and HasMaxItems Concerns

I have added the ability to set the minimum and maximum number of items for the following components to improve user experience.

Repeater
Builder
MultipleFileUpload

This PR overlaps #793 so I have incorporated those changes here to enable a consistent implementation.
There is potential to extend support to the following components but current out of scope

BelongToManyMultiSelect
MultiSelect
KeyValue
TagsInput

@iantasker I close my PR.
I think you can remove if (!$this->reachedMaxItems($files)) block from line 38 of MultipleFileUpload since appendNewUploadField() is called now.

Hey @iantasker, is @dmandrade right about that change you can make?

@danharrin Yes @dmandrade is correct so have removed and resolved the view conflicts.


The table widget often looks ugly. Can we do better ?

Problem

The table widget often looks ugly. Can we do better ?

@teolemon We could do better regarding the width of each column, and set screen width percentages (aka flex).
But we have no control on the texts and the purpose of each column a priori, as it's data from the server.

should we say that the first column is the most important and takes 60% of the screen width, and all the other columns have the same width from what is left (40%) (in that case 20%+20%)?
that would have an impact on the column titles - we cannot let them use 10 lines just because the width is very narrow. What about 2 lines max, an ellipsis and a tooltip on long press?


Fix indent

@changeworld : Thanks for your contribution! The author, @gregvanl, has been notified to review your proposed change.

Verified whitespace changes.


Revert "Recreated composer autoload after deploy:rollback"

This PR fixes #511 by reverting the change introduced in #460. IMHO, it is a bad patch for a problem you shouldn't be having and instead creates lots of other problems:

The patch introduced in the PR does not work at all if composer_bin is not set - simply because invoking deploy:rollback never invokes symfony:composer:get (which sets composer_bin to the correct local path). This is the error #511 is referring to.
#460 is only an issue if the vendor directory is shared. If it isn't shared, there is always the correct composer autoloader present, so the default deploy:rollback (reverting the symlink, then deleting the "broken" release folder) will work.
If the vendor directory is shared, the introduced "fix" still isn't guaranteed to work, since it only tries to dump the autoloader but doesn't re-install all composer dependencies (note that a newer release might have introduced an incompatible package or even have removed packages the old version relied on. So without running a complete composer install the software would be in a worse state than before.
Last but not least, sharing the vendor directory is not an option at all when using use_composer_tmp, since it would always remove the vendor directory and replace it with a symlink to an (empty) shared vendor directory.

To avoid all these issues, this PR simply reverts the commit. Yes, this will break deploy:rollback for everybody who is using a shared vendor directory. On the other hand, this should be discouraged, because of the aforementioned issues. Instead, people should use copy_vendors if they want to speed up deployment.

@alcaeus I'm having a problem with the capifony rollback. I explained it on the issue #587. From what I understood from your PR, I shouldn't share vendor. I tried deleting it and I still have the same error. Is there another identified problem with rollback that wasn't corrected by this PR ?


Add a svgClass input to add a class directly to the SVG element

References part of #70

Is this still necessary after adding onSVGLoaded?

Hey,
can you get back to me on this:
https://github.com/arkon/ng-inline-svg/issues/70
please been stuck for a abit, not understanding how to make onSVGLoaded
work yet :/
On Thu, Apr 26, 2018 at 2:37 PM, Eugene<EMAIL_ADDRESS>wrote:

Closed #71 https://github.com/arkon/ng-inline-svg/pull/71.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/arkon/ng-inline-svg/pull/71#event-1596274281, or mute
the thread
https://github.com/notifications/unsubscribe-auth/Aii7c1M27MrFElCAI-f1PeNPMTxiuHLHks5tsbFogaJpZM4TjYre
.


Fix FSDP ckpt by filtering User Waring

What does this PR do?
Fix FSDP ckpt by filtering User Warning
What issue(s) does this change relate to?
Fix failing dailies
https://github.com/mosaicml/composer/actions/runs/9231304954

@snarayan21 here ya go: https://github.com/mosaicml/composer/actions/runs/9231304954

Hm automerge was on so it merged even though its not fixed on linked dailies...

sad...but I don't think the error is related to this PR, it seems related to the TP PR @mvpatel2000

@mvpatel2000 I think it fixed the UserWarning but now we are in shardedTensor failure land


Oracle module

please run make init to install githooks to run cargo fmt before commit (or let me know if the githook isn't working)


[SPARK-4237][BUILD] Fix MANIFEST.MF in maven assembly jar

Build spark with maven as follows:
mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.1 -Phive -DskipTests clean package
1 Then Running with spark sql jdbc/odbc, the output will be
JackydeMacBook-Pro:spark1 jackylee$ bin/beeline
Spark assembly has been built with Hive, including Datanucleus jars on classpath
Beeline version ??? by Apache Hive
2 And use beeline to connect to thrift server, get this error:
14/11/04 11:30:31 INFO ObjectStore: Initialized ObjectStore
14/11/04 11:30:31 INFO AbstractService: Service:ThriftBinaryCLIService is started.
14/11/04 11:30:31 INFO AbstractService: Service:HiveServer2 is started.
14/11/04 11:30:31 INFO HiveThriftServer2: HiveThriftServer2 started
14/11/04 11:30:31 INFO ThriftCLIService: ThriftBinaryCLIService listening on <IP_ADDRESS>/<IP_ADDRESS>:10000
14/11/04 11:33:26 INFO ThriftCLIService: Client protocol version: HIVE_CLI_SERVICE_PROTOCOL_V6
14/11/04 11:33:26 INFO HiveMetaStore: No user is added in admin role, since config is empty
14/11/04 11:33:26 INFO SessionState: No Tez session required at this point. hive.execution.engine=mr.
14/11/04 11:33:26 INFO SessionState: No Tez session required at this point. hive.execution.engine=mr.
14/11/04 11:33:26 ERROR TThreadPoolServer: Thrift error occurred during processing of message.
org.apache.thrift.protocol.TProtocolException: Cannot write a TUnion with no set value!
at org.apache.thrift.TUnion$TUnionStandardScheme.write(TUnion.java:240)
at org.apache.thrift.TUnion$TUnionStandardScheme.write(TUnion.java:213)
at org.apache.thrift.TUnion.write(TUnion.java:152)
at org.apache.hive.service.cli.thrift.TGetInfoResp$TGetInfoRespStandardScheme.write(TGetInfoResp.java:456)
at org.apache.hive.service.cli.thrift.TGetInfoResp$TGetInfoRespStandardScheme.write(TGetInfoResp.java:406)
at org.apache.hive.service.cli.thrift.TGetInfoResp.write(TGetInfoResp.java:341)
at org.apache.hive.service.cli.thrift.TCLIService$GetInfo_result$GetInfo_resultStandardScheme.write(TCLIService.java:3754)
at org.apache.hive.service.cli.thrift.TCLIService$GetInfo_result$GetInfo_resultStandardScheme.write(TCLIService.java:3718)
at org.apache.hive.service.cli.thrift.TCLIService$GetInfo_result.write(TCLIService.java:3669)
at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:53)
at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
at org.apache.hive.service.auth.TSetIpAddressProcessor.process(TSetIpAddressProcessor.java:55)
at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:206)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Actually this is because there is no ImplementationVersion in MANIFEST.MF for beeline when using maven.  https://github.com/apache/hive/blob/release-0.13.1/beeline/src/java/org/apache/hive/beeline/BeeLine.java#L289

Ping

I think this should be closed unless we can know why excluding MANIFEST.MF entirely is not a solution.

yes this solution is a hack, have not found a proper way to fix this, and now we do not use MANIFEST.MF in sql/beeline, so close this.


misspelling in build scripts: redhatenterpriceserver6

line 54 of src/aerospike/scripts/aerospike-client-c.sh has a misspelling:  s/redhatenterpriceserver6/redhatenterpriseserver6/g
this will cause installs on RH enterprise 6 machines to fail

Thanks!  :+1:

Fixed in release 3.4.3.


fix(deps): update plugin-functions to 1.11.1

What does this PR do?
This PR updates plugin-functions to the latest release. It's pretty far out of date at present, so the out of the box experience for functions isn't ideal.
Acceptance Criteria

Run sf generate function -n myfunction -l javascript
Check that cat functions/myfunction/project.toml includes salesforce-api-version = "54.0". Prior to this PR, this command generates a function with salesforce-api-version = "53.0".

What issues does this PR fix or reference?

https://github.com/heroku/builder/pull/263#issuecomment-1154851050

Other thoughts
Shouldn't dependabot have done this for us?

do you mind re-doing this PR from a branch in this repo instead of a fork so CI can run?

@RodEsp I would have, but I don't have write access. If you want to add me (or my team @salesforcecli/languages-team), I'd be happy to.

@joshwlewis hmm... sorry about that 🤔
I just checked the org permissions and all members have a default level of write access to repos. Let me see what's up with that.

@joshwlewis I just gave @salesforcecli/languages-team explicit write access to this repo if you wanna try again.


Unable to upgrade to 2.0.0-beta2

I'll be straight-up and say I don't know if there is a problem on my machine or with the code.  However, when trying to upgrade my 1.2.0 installation by checking out the 2.0.0-beta2 tag via git, I then run "composer install -o --no-dev" and get the below error:

Ping @GrahamCampbell.

Delete the services.json file.

I do not have a services.json file
Sent from my iPhone

On Oct 15, 2015, at 3:21 PM, Graham Campbell<EMAIL_ADDRESS>wrote:
Delete the services.json file.
—
Reply to this email directly or view it on GitHub.

rm -rf bootstrap/cache/*

That did it.  Thank you!
Sent from my iPhone

On Oct 16, 2015, at 12:23 PM, James Brooks<EMAIL_ADDRESS>wrote:
rm -rf bootstrap/cache/*
—
Reply to this email directly or view it on GitHub.


Fix dropdown alternative anchor selection

According to the dropdown JavaScript source code, the anchor could be defined either with data-toggle or data-open. The later will actually never be selected due to $(`[data-toggle="${$id}"]`) which will always be true - even if no object is found. Note that I took this syntax from the reveal component - see here.

👍


zlib: Fix typo in comment. No eval changes.

This created confusion in #71813.
Things done

[x] Comment-only change, no further steps needed.

CC @nmattia

No eval changes, merging.


[Feature]: Change The Styling Of Existing Shadcn Input Component.

🔰 Type of Feature:

[ ] 💡 Feature
[ ] 🐛 Bug Fix
[ ] 📃 Documentation
[x] 🎨 Style
[x] 💻 Code Refactor
[ ] 🔥 Performance
[ ] ✅ Test

❓ Is your feature request related to a problem? Please describe.
The custom input component has been replaced with the Shadcn Input component, but there is still a need to change the styling of the component to match the existing custom Input component.
📃 Describe the solution you'd like.
We need to change the styling of the Shadcn Input component to match the current theme of our website. The required tasks are:

Modify the styling of the Shadcn component using Tailwind.
Ensure that the styling matches the custom Input component.

📃 Describe alternatives you've considered.
NIL
👂 Additional context
NIL

.take

.take

.take

.take


Leshan server demo throws null-pointer exception

Version(s)
leshan-server-demo v2.0.0-SNAPSHOT  Commit ID : f23254c85928bf0eba54c10b515b36ef050a6959 Build Date: Wed Jan 31 18:03:33 CET 2024<PHONE_NUMBER>007)  JVM: 11.0.21 (Oracle Corporation OpenJDK 64-Bit Server VM 11.0.21+9) OS: Linux 5.10.206-1-MANJARO amd64  Code Source: https://github.com/eclipse/leshan/tree/f23254c85928bf0eba54c10b515b36ef050a6959
Which components
leshan server demo
Tested With
wakaama-based RIOT implementation
What happened
After a successful client registration, attempts to read any resource from the client throw a NullPointerException. No packet is sent to the client.
How to reproduce
Configure and build the lwm2m example using this RIOT PR: https://github.com/RIOT-OS/RIOT/pull/16233
Configure the right credentials on the Leshan server and trigger a registration. Upon successful registration, try to read any resource on the device.
Relevant Output
2024-02-02 14:34:46,768 EventServlet         [DEBUG] Dispatching REGISTRATION event from endpoint testRIOTDevice
2024-02-02 14:34:47,045 SweepDeduplicator    [TRACE] Start Mark-And-Sweep with 0 entries
2024-02-02 14:34:47,054 SweepDeduplicator    [TRACE] Start Mark-And-Sweep with 1 entries
2024-02-02 14:34:47,054 SweepDeduplicator    [DEBUG] Sweep run took 0ms
2024-02-02 14:34:47,059 DTLSConnector        [TRACE] 1 recent handshakes, cleaning up 0 - CID=30F0540BCC44
2024-02-02 14:34:47,059 DTLSConnector        [DEBUG] 1 left recent handshakes, 0 removed in 0ms!
2024-02-02 14:34:52,059 DTLSConnector        [TRACE] 1 recent handshakes, cleaning up 0 - CID=30F0540BCC44
2024-02-02 14:34:52,060 DTLSConnector        [DEBUG] 1 left recent handshakes, 0 removed in 0ms!
2024-02-02 14:34:54,884 ClientServlet        [WARN] Unexpected exception
java.lang.NullPointerException: null
	at org.eclipse.leshan.server.request.DefaultDownlinkRequestSender.send(DefaultDownlinkRequestSender.java:93)
	at org.eclipse.leshan.server.queue.QueueModeLwM2mRequestSender.send(QueueModeLwM2mRequestSender.java:60)
	at org.eclipse.leshan.server.LeshanServer.send(LeshanServer.java:477)
	at org.eclipse.leshan.server.LeshanServer.send(LeshanServer.java:450)
	at org.eclipse.leshan.server.demo.servlet.ClientServlet.doGet(ClientServlet.java:252)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:554)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.server.Server.handle(Server.java:516)
	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
	at java.base/java.lang.Thread.run(Thread.java:829)
2024-02-02 14:34:57,045 SweepDeduplicator    [TRACE] Start Mark-And-Sweep with 0 entries
2024-02-02 14:34:57,054 SweepDeduplicator    [TRACE] Start Mark-And-Sweep with 1 entries
2024-02-02 14:34:57,054 SweepDeduplicator    [DEBUG] Sweep run took 0ms
2024-02-02 14:34:57,060 DTLSConnector        [TRACE] 1 recent handshakes, cleaning up 0 - CID=30F0540BCC44
2024-02-02 14:34:57,061 DTLSConnector        [DEBUG] 1 left recent handshakes, 0 removed in 0ms!
2024-02-02 14:35:02,061 DTLSConnector        [TRACE] 1 recent handshakes, cleaning up 0 - CID=30F0540BCC44
2024-02-02 14:35:02,062 DTLSConnector        [DEBUG] 1 left recent handshakes, 0 removed in 0ms!

Hi, Thx for reporting this. :pray:
My guess is there is something which doesn't match about the endpoint URI.
But as I will not be able to reproduce it, so I will try to add some logs so we will maybe see clearer.
I let you know when I have something you can use to reproduce.

I created a new branch unknown_endpoint about that.
(code is in commit 3388cf813780f6c9276dff32cd9d6a9cc3396d2f)
Is it easy for you to test just like this ? (I mean do you already build Leshan?)

Thanks. The here are the new logs. I think there may be something wrong when defining the interface of the endpoint at which the node registered itself, because then it can't be match to the actual ones.
024-02-02 18:37:00,164 ClientServlet        [WARN] Unexpected exception
java.lang.IllegalStateException: Client testRIOTDevice register itself to coaps://[fe80:0:0:0:6098:a7ff:fed9:3cea%2533]:5684 endpoint, but it seems there is no available endpoints identified byt this URI.
Available endpoints are :
coap://[fe80:0:0:0:6098:a7ff:fed9:3cea%33]:5683
coaps://[fe80:0:0:0:6098:a7ff:fed9:3cea%33]:5684
coap://[0:0:0:0:0:0:0:0]:5685
	at org.eclipse.leshan.server.request.DefaultDownlinkRequestSender.getEndpoint(DefaultDownlinkRequestSender.java:165)
	at org.eclipse.leshan.server.request.DefaultDownlinkRequestSender.send(DefaultDownlinkRequestSender.java:89)
	at org.eclipse.leshan.server.queue.QueueModeLwM2mRequestSender.send(QueueModeLwM2mRequestSender.java:60)
	at org.eclipse.leshan.server.LeshanServer.send(LeshanServer.java:477)
	at org.eclipse.leshan.server.LeshanServer.send(LeshanServer.java:450)
	at org.eclipse.leshan.server.demo.servlet.ClientServlet.doGet(ClientServlet.java:252)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:687)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:799)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:554)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:233)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1440)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:188)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:505)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1594)
	at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:186)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1355)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
	at org.eclipse.jetty.server.Server.handle(Server.java:516)
	at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:487)
	at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:732)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:479)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
	at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:338)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:315)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:173)
	at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:131)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:409)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:883)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1034)
	at java.base/java.lang.Thread.run(Thread.java:1583)
2024-02-02 18:37:01,529 DTLSConnector        [TRACE] 1 recent handshakes, cleaning up 0 - CID=D83431010328
2024-02-02 18:37:01,530 DTLSConnector        [DEBUG] 1 left recent handshakes, 0 removed in 0ms!
2024-02-02 18:37:06,511 SweepDeduplicator    [TRACE] Start Mark-And-Sweep with 0 entries
2024-02-02 18:37:06,521 SweepDeduplicator    [TRACE] Start Mark-And-Sweep with 1 entries
2024-02-02 18:37:06,521 SweepDeduplicator    [DEBUG] Sweep run took 0ms
2024-02-02 18:37:06,530 DTLSConnector        [TRACE] 1 recent handshakes, cleaning up 0 - CID=D83431010328
2024-02-02 18:37:06,530 DTLSConnector        [DEBUG] 1 left recent handshakes, 0 removed in 0ms!
2024-02-02 18:37:11,531 DTLSConnector        [TRACE] 1 recent handshakes, cleaning up 0 - CID=D83431010328
2024-02-02 18:37:11,531 DTLSConnector        [DEBUG] 1 left recent handshakes, 0 removed in 0ms (full)!
2024-02-02 18:37:16,511 SweepDeduplicator    [TRACE] Start Mark-And-Sweep with 0 entries
2024-02-02 18:37:16,521 SweepDeduplicator    [TRACE] Start Mark-And-Sweep with 1 entries
2024-02-02 18:37:16,521 SweepDeduplicator    [DEBUG] Sweep run took 0ms
2024-02-02 18:37:16,531 DTLSConnector        [TRACE] 1 recent handshakes, cleaning up 0 - CID=D83431010328
2024-02-02 18:37:16,532 DTLSConnector        [DEBUG] 1 left recent handshakes, 0 removed in 0ms!

Yep it seems there is something unexpected with :
coaps://[fe80:0:0:0:6098:a7ff:fed9:3cea%2533]:5684
VS
coaps://[fe80:0:0:0:6098:a7ff:fed9:3cea%33]:5684

I will try to investigate a bit more.
A workaround for would be to use IPv4 ?

Thanks. Unfortunately, IPv4 is currently not an option for me, as most of the networking infrastructure in RIOT is IPv6.

I try to understand the %xxxx  part of the ipv6 address in your case. (First finding : https://superuser.com/questions/99746/why-is-there-a-percent-sign-in-the-ipv6-address)
It seems this is relative to local link address, so  I guess you should not get same issue when testing with : https://leshan.eclipseprojects.io ? Or ?

It is indeed because I'm using link local addresses. It specifies the interface. I'm not able to test with leshan.eclipseprojects.io because I don't see an IPv6 for it. I can try later again by using global addresses, locally.

I didn't test it recently but I remember that we add an ipv6 address to leshan sandbox : https://github.com/eclipse-leshan/leshan/issues/1210
I just run nslookup and get :
$> nslookup leshan.eclipseprojects.io

Server:		<IP_ADDRESS>
Address:	<IP_ADDRESS>#53

Non-authoritative answer:
Name:	leshan.eclipseprojects.io
Address: <IP_ADDRESS>
Name:	leshan.eclipseprojects.io
Address: 2a01:111:f100:9001::1761:93fa

Tell what makes you think that ipv6 is not supported ? (maybe it doesn't really work ?)

It is indeed because I'm using link local addresses. It specifies the interface.

Yep I need to understand this better to know how Leshan should behave in this case :thinking:

I just run nslookup and get :

Hmm interesting, dig shows only the IPv4 entry:
$ dig leshan.eclipseprojects.io

; <<>> DiG 9.18.21 <<>> leshan.eclipseprojects.io
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 29132
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: bd0b0a7151dc17120100000065c0a8b08967c90c3a868a9b (good)
;; QUESTION SECTION:
;leshan.eclipseprojects.io.	IN	A

;; ANSWER SECTION:
leshan.eclipseprojects.io. 85383 IN	A	<IP_ADDRESS>

;; Query time: 10 msec
;; SERVER: <IP_ADDRESS>#53(<IP_ADDRESS>) (UDP)
;; WHEN: Mon Feb 05 10:21:52 CET 2024
;; MSG SIZE  rcvd: 98

I'll give it a try later

Ok It's still not crystal clear to me what Leshan should behave with zone id but I understand this should be more or less transparent.
The question remaining is why we get %2533 on one side and %33 on the other side... :thinking:
In Leshan we have 2 ways to create the endpoint URI :

EndpointUriUtil.createUri which use InetSocketAddress.getHostString() which seems to NOT replace the % by %25
CoapEndpoint.getUri which use : StringUtil::getUriHostname which replaces the % by %25

Looking at : https://www.rfc-editor.org/rfc/rfc6874#section-2, we can read :

In a URI, a literal IPv6 address is always embedded between "[" and
"]".  This document specifies how a <zone_id> can be appended to the
address.  According to URI syntax [RFC3986], "%" is always treated as
an escape character in a URI, so, according to the established URI
syntax [RFC3986] any occurrences of literal "%" symbols in a URI MUST
be percent-encoded and represented in the form "%25". Thus, the
scoped address fe80::a%en1 would appear in a URI as
http://[fe80::a%25en1].

and :

  IP-literal = "[" ( IPv6address / IPv6addrz / IPvFuture  ) "]"

 ZoneID = 1*( unreserved / pct-encoded )

IPv6addrz = IPv6address "%25" ZoneID

I understand the right way should be to use %25 in URI. :thinking:
I will try to adapt the code.

I created a PR to try to fix that.
Could you test it and tell me if it fix your issue. :pray:

Could you test it and tell me if it fix your issue. 🙏

it works!

it works!

Great :tada:
Thx a lot for your help :pray:
I will integrate this soon in master, unless you want more time to play with it and maybe provide more feedback ?

I gonna integrate https://github.com/eclipse-leshan/leshan/pull/1581 in master. The fix should be available in next release 2.0.0-M15.


Update permissible value list for Clinical Tier 1 Diagnosis: 'Precancerous Condition Type'

Data element 'Precancerous Condition Type' permissible values required updating.  Several values are to be removed, three values are to be added.
Proposed change:
Omit 9 existing permissible values: Carcinoma NOS, Invasive melanoma - superficial spreading, Invasive melanoma - nodular type, Invasive melanoma - lentigo maligna, Invasive melanoma - acral lentiginous, Invasive melanoma - desmoplastic, Invasive melanoma - nevoid, Invasive melanoma, Normal WDA
Add 3 permissible values: Normal, Squamous carcinoma in situ, Neuroendocrine cell hyperplasia
Attached Excel spreadsheet also contains the requested changes.

How important is this feature?

🌗 Medium - can do work without it; but it's important (e.g. to save time or for convenience)

When will use cases depending on this become relevant?
Next sprint

Additional context
There are only two records in the current dataset that contain data in the 'Precancerous Condition Type' field.  They are HTAPP participants, and the value for both is 'Ductal Carcinoma In Situ' (these records have been moved from Tier 2 into Tier 1 by Clarisse and Kristen). Therefore this change has no impact on data already submitted.
PrecancerousConditionType_PVs.xlsx

Confirming @kristenanton's assessment of previously submitted values
SELECT
  Precancerous_Condition_Type,
  COUNT(*) as n
FROM `htan-dcc.combined_assays.Diagnosis`
GROUP BY Precancerous_Condition_Type

Precancerous_Condition_Type
n

null
2207

Not Applicable
110

Ductal Carcinoma In Situ
2

note that this field is not required

Can be done in a single PR with #306
Please ensure both issues are linked to the PR, when ready.

Expect to include in release in early 24-6 sprint


Please add a way to disable the Windows 11 Display Connect animation.

Is your feature request related to a problem? Please describe.
When you connect a display to your computer in Windows 11, it plays a multiple second animation where both displays zoom out, and then zoom back in. It also pauses those displays for the duration of the animation. This pause is frustrating while you're playing a game, watching media, or if you just want to use your system while connecting the display.
Describe the solution you'd like
I would like for the animation to be disabled, and for the monitors to no longer pause during a display connection.
Describe alternatives you've considered
Many other users have recommended going to Settings>Accessibility>Visusal effects, and disabling Animation effects in the windows settings. This solution, however, disables all animations on the system, which is a very undesirable solution to me.
Additional context
This display animation and pause was not present in Windows 10. See video below for an example of the animation, and how it pauses the system.
https://www.youtube.com/shorts/V0QzDLQH17I

There is no way to separate this animation with others. Maybe you should send feedback to microsoft...


Fix early timeout when counter overflows

I've split this out of #316 because it's an independent issue.
If in the previous code the now() + block_time overflowed, the code exited immediately because now() > (now() + block_time) was true. Instead, we calculate the number of elapsed ticks and compare that to the timeout. I get that this is basically once every 2 thousand years or so on Xtensa and 9 or so years on RISC-V, but the old code is still incorrect :)

merged into #313


If next symbol is defined prefill it before user entering the next input character

It's hard to explain. Currently, when entering masked input characters all separators are inserted after user input.
wanted

default

Use the prop maskAutoComplete from the latest version 1.2.3


How To Delete The User Session On Logout?

Dear Colleagues,
I am part of the SAP ETD-Cloud team which is working on a multi-tenant application that is deployed in Cloud Foundry.
All the applications are deployed in Cloud Foundry and the approuter is the single entry point for all the of them. The UI5 applications are deployed as HTML5 repos and are integrated into the SAP Fiori launchpad.
CSRF token-based protection is used for all CRUD operations that require it (POST, PUT, DELETE) and the token is received by executing a GET request on the approuter's root path, with the corresponding fetch X-CSRF-Token header.
To avoid multiple X-CSRF-Token requests we cache the token, but this gets us into trouble,  as after a logout and re-login (using the launchpad sing out option), the old token is still there. Because it is cached, we will receive a 403 status from the approuter due to the fact that the token has expired after the logout command.
For authentication, authorization and role generation we use the XSUAA service.
We already tried the following setup, but haven't managed to clear the cache:

add property "cache Control" in app router configurations, but I assume this is mostly used  for loading internal resource files
define an application's central logout endpoint by using the logout Endpoint property, in the xs-app.json configuration (still the same behavior, after logout and login the token is not refreshed)

Is there any possibility to clear cached headers on logout?
Regards,
Borcea Cristian.

Hi Cristian,
You should not receive a 403 if the token has expired. Can you explain in more detail what cache are you using and how your application is using this library? What is your application setup: How is it deployed? Are you using SAP Java Buildpack with servlet security or are you using spring? Do you have a link to a repo of your application?
Thanks!
Best Regards
Daniel

1.Can you explain in more detail what cache are you using and how your application is using this library?
For HTTP requests we are using jQuery Ajax library. The X-CSRF-Token is fetched from the approuter's root path. Future request will use this token and will not fetch another one, because the ajax request sees the token present in the cache.  After a logout and re-login (using the launchpad sing out option), the old token is still there.
Even if we try to access the UIs individually (from outside the launchpad) and configure the logout endpoint property in the xs-app.json, the token is not cleared on logout. Should the approuter take care of clearing the cache? Or do we need to configure a specific endpoint in the backed that achieves this?
2.What is your application setup: How is it deployed?
The UI5 applications are deployed as HTML5 repos using MTA  deployment descriptor and are integrated into the SAP Fiori launchpad.
The approuter and backend services are deployed as nodejs applications using MTA deployment descriptor.
3.Are you using SAP Java Buildpack with servlet security or are you using spring?
We have a mixture of languages, but for retrieving the X-CSRF-Token we are using the approuter deployed as a nodejs_buildpack.
4.Do you have a link to a repo of your application?
https://github.wdf.sap.corp/EnterpriseThreatDetection/etd-cloud-approuter

Hi Cristian,
it looks like your problem is app router specific. You do not seem to be using our library. Can you please create this issue on their repository?
Thanks!
Daniel

Thanks :)


⚠ ClamAV has degraded performance

In e0a9d42, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 72 ms

Resolved: ClamAV performance has improved in 9bf504f after 5 minutes.


TE-3.2: Removing static discard route

Removing the not require static-discard-route.
Reference - https://github.com/openconfig/featureprofiles/pull/1143
"This code is a Contribution to the OpenConfig Feature Profiles project ("Work") made under the Google Software Grant and Corporate Contributor License Agreement ("CLA") and governed by the Apache License 2.0. No other rights or licenses in or to any of Nokia's intellectual property are granted for any other purpose. This code is provided on an "as is" basis without any warranties of any kind."

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 57.219%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1181

Relevant Lines:
2064

💛  - Coveralls

@xw-g , merge conflict was resolved, are we good to merge this one?

@mojiiba, @sgirishj I think we all agree that we don't want static route in this test. So, LGTM to merge?

Archived LGTM from @sachendras

/gcbrun

/gcbrun

Also @mojiiba gaves LGTM offline.


I have added the transform component UI to my Engine and it's working good but there is a slight problem .

Describe the bug
A clear and concise description of what the bug is.
A screenshot or copy of the error could be helpful as well.
Make sure your bug can be reproduced with the Hazel Engine and not by your own engine that you're creating alongside with Hazel. For issues with your own engine, we're happy to help you in TheCherno Discord server. Thanks for your understanding.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error above

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add extra screenshots to help explain your problem.
Operating system: (please complete the following information)

OS: [e.g. win-64]
Version: [e.g. Windows 10 home]

Additional context
Add any other context about the problem here.

I gotta say, veeeeerrrrryyyyy descriptive! Especially since it's in your own engine and not Hazel specifically 👍


Conda issue

Environment data

VS Code version: 1.52.1
Extension version (available under the Extensions sidebar): v2021.1.502429796
OS and version: Windows 10* 64
Python version (& distribution if applicable, e.g. Anaconda): 3.8.5
Type of virtual environment used (N/A | venv | virtualenv | conda | ...): conda
Relevant/affected Python-related VS Code extensions and their versions: Jupyter-v2020.12.414227025
Value of the python.languageServer setting: Jedi

Error behaviour
I want to use VSCode with Anaconda.
After I installed Anaconda, I made sure that it can be used under cmd.
But when I run the python code, it will show this error message:
To initialize your shell, run

    $ conda init <SHELL_NAME>

Currently supported shells are:
  - bash
  - fish
  - tcsh
  - xonsh
  - zsh
  - powershell

See 'conda init --help' for more information and options.

IMPORTANT: You may need to close and restart your shell after running 'conda init'.

Steps to reproduce:

I reported the errors reflected by the system to Google through translation, and then checked those online tutorials, and found that it did not work.
I checked my conda again and there was no problem.So I judged it was a problem in VSCode.
I opened the Github of vscode-python to check the issue and saw that #8864 meets my needs, and I found that this problem has been solved, but I did not find CONDA_SHLVL when I checked the variables of powershell in VSCode.
So I think it is a powershell problem, but my powershell in cmd has variable CONDA_SHLVL. I had to change the default shell to cmd.
Finally the error was finally resolved.

Thank you for your attention and look forward to fixing.

Hello @Faye-XDU,
This is not a problem with VS Code, but with how you activate conda in your terminal.
The version of conda that you are using does not support cmd, the supported shells are:

bash
fish
tcsh
xonsh
zsh
powershell

You can use powershell instead, either by running powershell inside cmd.exe, or using the powershell executable directly.
You then need to run conda init powershell.
Is this tutorial helpful?

Hello @Faye-XDU,
This is not a problem with VS Code, but with how you activate conda in your terminal.
The version of conda that you are using does not support cmd, the supported shells are:

bash
fish
tcsh
xonsh
zsh
powershell

You can use powershell instead, either by running powershell inside cmd.exe, or using the powershell executable directly.
You then need to run conda init powershell.
Is this tutorial helpful?

Thank you for your careful answer

Thank you for your careful answer

Thank you for your careful answer. @kimadeline

Thank you for your careful answer. @kimadeline


Make InputParams (aka jobParams) functional

New code in this branch enables passing provider-specific custom job parameters to an execution target from a Jupyter notebook.  The user may now specify "jobParams=" followed by one or more JSON {"key":"value",...} pairs when submitting a job.  This adds functionality to the work started in PR 526

/azp run


Use OE_QMAKE_PATH_EXTERNAL_HOST_BINS to allow cmake to find the rep compiler

In order to allow cmake to find the rep compiler of the qtremoteobjects module during the image build this patch uses the variable OE_QMAKE_PATH_EXTERNAL_HOST_BINS instead of CMAKE_BIN_DIR to determine the location of the executable.
Please let me know if this change can introduce problems, knowing that i'm rather new into Yocto and the Qt internals.

Sorry, made a mistake (first time github user, shame on me...) and opened a new PullRequest #214.


Follow ups to #152 "Report user position to server"

This adds the code missing from #152 that is not required for the feature to work (you may notice some FIXMEs left in the code). This PR (we hope) won't change the API introduced in #152 on the User model, so dependent issues can start working with it in parallel.

[x] The UI to distinguish between showing the location on the map and sharing with the server
[x] A mechanism that actually deletes old user positions / deletes them when the site is left

[x] delete old entries too

[x] Handle failed requests (for example, when unauthorized) don't even send requests when not signed in

I would be lying if I told you that the two switches are visually appealing, but since they need to be reworked to look on mobile, I will defer that task for whoever does that :)


Badges

Add badges to README

Current coverage is 100% (diff: 100%)

Merging #13 into master will not change coverage

@@           master   #13   diff @@
===================================
  Files           4     4
  Lines          98    98
  Methods        93    93
  Messages        0     0
  Branches        5     5
===================================
  Hits           98    98
  Misses          0     0
  Partials        0     0

Powered by Codecov. Last update 0cdbdfa...835a2c6


flocker-docker-plugin with docker 1.12.2

flocker-docker-plugin is not working with docker 1.12.2
[root@manager1 vagrant]# systemctl status flocker-docker-plugin
● flocker-docker-plugin.service - Flocker Docker Plugin
   Loaded: loaded (/usr/lib/systemd/system/flocker-docker-plugin.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2016-10-14 02:59:40 BST; 1s ago
 Main PID: 17973 (flocker-docker-)
   Memory: 43.9M
   CGroup: /system.slice/flocker-docker-plugin.service
           └─17973 /opt/flocker/bin/python /usr/sbin/flocker-docker-plugin --journald

Oct 14 02:59:40 manager1 systemd[1]: flocker-docker-plugin.service holdoff time over, scheduling restart.
Oct 14 02:59:40 manager1 systemd[1]: Started Flocker Docker Plugin.
Oct 14 02:59:40 manager1 systemd[1]: Starting Flocker Docker Plugin...
[root@manager1 vagrant]# docker volume create --name persistent-vol-11 -d flocker
Error response from daemon: create persistent-vol-11: create persistent-vol-11: Error looking up volume plugin flocker: plugin not found
[root@manager1 vagrant]# docker run -v apples:/data --volume-driver flocker busybox sh -c "echo hello > /data/file.txt"
Unable to find image 'busybox:latest' locally
latest: Pulling from library/busybox
56bec22e3559: Pull complete
Digest: sha256:29f5d56d12684887bdfa50dcd29fc31eea4aaf4ad3bec43daf19026a7ce69912
Status: Downloaded newer image for busybox:latest
docker: Error response from daemon: create apples: create apples: Error looking up volume plugin flocker: plugin not found.

agent and container agent are active
[root@manager1 vagrant]# systemctl status flocker-dataset-agent
● flocker-dataset-agent.service - Flocker Dataset Agent
   Loaded: loaded (/usr/lib/systemd/system/flocker-dataset-agent.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2016-10-14 02:57:41 BST; 1s ago
 Main PID: 16908 (flocker-dataset)
   Memory: 33.7M
   CGroup: /system.slice/flocker-dataset-agent.service
           └─16908 /opt/flocker/bin/python /usr/sbin/flocker-dataset-agent --journald

Oct 14 02:57:41 manager1 systemd[1]: flocker-dataset-agent.service holdoff time over, scheduling restart.
Oct 14 02:57:41 manager1 systemd[1]: Started Flocker Dataset Agent.
Oct 14 02:57:41 manager1 systemd[1]: Starting Flocker Dataset Agent...
[root@manager1 vagrant]# systemctl status flocker-container-agent
● flocker-container-agent.service - Flocker Container Agent
   Loaded: loaded (/usr/lib/systemd/system/flocker-container-agent.service; disabled; vendor preset: disabled)
   Active: active (running) since Fri 2016-10-14 02:57:56 BST; 760ms ago
 Main PID: 17032 (flocker-contain)
   Memory: 23.2M
   CGroup: /system.slice/flocker-container-agent.service
           └─17032 /opt/flocker/bin/python /usr/sbin/flocker-container-agent --journald

Even if I restart docker service at that point. I still get the same error message
docker version
[root@manager1 vagrant]# docker version
    Client:
     Version:      1.12.2
     API version:  1.24
     Go version:   go1.6.3
     Git commit:   bb80604
     Built:
     OS/Arch:      linux/amd64

    Server:
     Version:      1.12.2
     API version:  1.24
     Go version:   go1.6.3
     Git commit:   bb80604
     Built:
     OS/Arch:      linux/amd64

same problem while running the documentation example
[root@manager1 vagrant]# docker run -v apples:/data --volume-driver flocker busybox sh -c "echo hello > /data/file.txt"
Unable to find image 'busybox:latest' locally
latest: Pulling from library/busybox
56bec22e3559: Pull complete
Digest: sha256:29f5d56d12684887bdfa50dcd29fc31eea4aaf4ad3bec43daf19026a7ce69912
Status: Downloaded newer image for busybox:latest
docker: Error response from daemon: create apples: create apples: Error looking up volume plugin flocker: plugin not found.

agent.yml
"dataset":
   "backend": "loopback"
   "root_path": "/var/lib/flocker/loopback"

I solved this. I was doing it wrong. I write the solution here just in case it can help someone in the future.
to debug this on centos I was able to get the logs of the services using:
journalctl -u flocker-dataset-agent --since "1 hour ago" -l --no-pager|less
journalctl -u flocker-docker-plugin --since "1 hour ago" -l --no-pager|less

I was missing plugin.crt in /ect/flocker
need to be generated using flocker-ca create-api-certificate plugin
agent.ml was badly formatted, here is the working version
version: 1
control-service:
  hostname: "<IP_ADDRESS>"
dataset:
  backend: "loopback"
  root_path: "/var/lib/flocker/loopback"


Support customizing $type tag with key annotation

Closes #578
There's still some work to do, but I wanted to get this open for initial feedback. @lihaoyi let me know if you have any thoughts, especially on the second and third points below.
~With the way I've been thinking about and approaching this so far, it won't be binary compatible. Is that okay? If not, do you have any ideas on alternate approaches that would maintain binary compatibility?~ Never mind, I'm working on restoring binary compatibility.
TODO:

[ ] Add tests
[x] Determine how to handle cases where a type inherits from multiple sealed traits -- https://github.com/com-lihaoyi/upickle/blob/b472fc9994a2cbdd2f93027f33a2d0366d7a8968/upickle/implicits/src-3/upickle/implicits/macros.scala#L180-L181
[ ] Consider if there's a more ergonomic way to get tagKey in taggedObjectContext

@mrdziuban I think the approach looks great.

Determine how to handle cases where a type inherits from multiple sealed traits

In the current codebase, I suppose it doesn't matter, because the parent sealed trait that a case class inherits from does not change the serialization format. With this change, that is no longer true.
I think a reasonably first pass would be to just fail loudly if a case class inherits from multiple sealed traits with different @keys configured (or some configured and others not configured). The "different parent sealed traits have different discriminator fields" use case is probably obscure enough most people won't notice.
Another alternative would be to make the case class have multiple duplicate discriminator fields if its parents have inconsistent @keys, e.g. {"$type": "foo.Bar", "$type2": "foo.Baz", "data", "blah", ...}. But I think that can be left to a follow PR, and erroring out now gives us the flexibility to adjust the design in future if we learn more

Consider if there's a more ergonomic way to get tagKey in taggedObjectContext

Could you describe what you think is un-ergonomic about the current approach? That would help me give a proper answer

fail loudly if a case class inherits from multiple sealed traits with different @keys configured (or some configured and others not configured)

Good idea, updated to do so.

Could you describe what you think is un-ergonomic about the current approach?

I wasn't sure if adding def tagKey to TaggedReader was the best approach, since it proliferates to everywhere that constructs one, like Reader.merge and Writer.merge. That said, I tried some other approaches, like passing the tagKey to findReader, but ran into limitations with all of them where I didn't have the value available where findReader was called.

Re: binary compatibility, I've made progress on it but am still having trouble with 5 problems:
 * abstract method annotate(upickle.core.Types#Reader,java.lang.String,java.lang.String)upickle.core.Types#TaggedReader in interface upickle.core.Annotator is present only in current version
   filter with: ProblemFilter.exclude[ReversedMissingMethodProblem]("upickle.core.Annotator.annotate")

 * abstract method annotate(upickle.core.Types#ObjectWriter,java.lang.String,java.lang.String,upickle.core.Annotator#Checker)upickle.core.Types#TaggedWriter in interface upickle.core.Annotator is present only in current version
   filter with: ProblemFilter.exclude[ReversedMissingMethodProblem]("upickle.core.Annotator.annotate")

 * abstract method taggedWrite(upickle.core.Types#ObjectWriter,java.lang.String,java.lang.String,upickle.core.Visitor,java.lang.Object)java.lang.Object in interface upickle.core.Types is present only in current version
   filter with: ProblemFilter.exclude[ReversedMissingMethodProblem]("upickle.core.Types.taggedWrite")

 * private[..] abstract method tagKey()java.lang.String in interface upickle.core.Types#TaggedReader is present only in current version
   filter with: ProblemFilter.exclude[ReversedMissingMethodProblem]("upickle.core.Types#TaggedReader.tagKey")

 * abstract method findWriterWithKey(java.lang.Object)scala.Tuple3 in interface upickle.core.Types#TaggedWriter is present only in current version
   filter with: ProblemFilter.exclude[ReversedMissingMethodProblem]("upickle.core.Types#TaggedWriter.findWriterWithKey")

I can fix the first two by implementing the annotate methods in Types.scala to construct the TaggedReader.Leaf and TaggedWriter.Leaf instances like they do in the LegacyApi and AttributeTagged in Api.scala, but I'm not sure if there's any drawback to this and/or if they need to stay abstract in Types.scala. These are the methods I'm talking about: https://github.com/com-lihaoyi/upickle/blob/d050f729197a96db7bf8fcde9a6d8645e70126c4/upickle/core/src/upickle/core/Types.scala#L287-L288
I'm stumped on the others. Do you have any idea how to handle them?

The abstracy method present only in current version errors generally can be resolved by giving the method some default implementation. e.g.

if the new abstract method has an additional argument, make it instead a concrete method that forwards to the original abstract method.

If the new abstract method is a variant of a previousl6 existing abstract method, just make it return some reasonable default value

Thanks for the tips, all the changes are binary compatible now 🎉
I'll hopefully be able to add some tests over the next couple of days

Added a couple tests, I think this is ready for review now

Left one code comment. One more request, could you update the documentation site? You can use sbt upickleReadme/run to re-generate it in the upickleReadme/target/scalatex folder

Also, could you update the PR description? A few lines summarizing what code changes are necessary, any alternatives you considered, and any other concerns you thought about, should be enough

could you update the documentation site to include the new functionality?

👍 done

could you update the PR description?

For sure, updated to add these details

Looks good to me. I kicked off CI and will merge it when green. Send me your bank details via email to<EMAIL_ADDRESS>and i will close out the bounty

Whoops sorry about the test failures, fixing in a minute

Thanks!


Change Component Variant on Link Click

Hi,
We are trying to implement a fancy image slider in Plasmic after designing it in Figma.
(See a preview here: Fancy Slider )
We designed the component state changes in Figma without any issue: by clicking on the bottom navigation links, the user is able to change the state (current slide) of the Slider; this is accomplished in Figma using INTERACTIONS.
After migrating to Plasmic (BTW great product), we tried in vain to implement the state (current slide) change.
How can it be accomplished (even if its requires writing additional code)?
Thanks in advance.

Discussion got moved here! https://forum.plasmic.app/t/how-would-we-implement-a-slider-component-family-for-plasmic/3087


AuthType question

https://github.com/openGemini/opengemini-client-go/blob/e15a322d7b9b723bcd406921aaae89964c144829/opengemini/client.go#L9-L13
AuthTypeToken will be validated. But never be used.
Is this mode supported?
Referring to the documentation, should there be a None enum type here
https://github.com/openGemini/openGemini.github.io/blob/main/src/guide/develop/client_design.md#client-constructor-params-design

Referring to the documentation, should there be a None enum type here
https://github.com/openGemini/openGemini.github.io/blob/main/src/guide/develop/client_design.md#client-constructor-params-design

Sorry, I create a patch to fix the doc https://github.com/openGemini/openGemini.github.io/pull/121
It's intend to be
        + AuthConfig authConfig // nullable, if null, means no auth
        + BatchConfig batchConfig // nullable, if null, means batch is disabled

AuthTypeToken will be validated. But never be used.
Is this mode supported?

The server currently does not support the Token type, and the SDK implementation for Token is incomplete.


Update stylelint-config-standard to 8.0.0

.. with couple of new rules :)

Coverage remained the same at 98.415% when pulling f0ff098b466f175f63684a0b79f968e31dcf96d8 on glennreyes:packages into 6f863d5c5148c3c4e8580f0f7fe499baea73095e on mxstbr:master.

Nice one! :+1:


Force GRPC/Netty upgrade

Force GRPC upgrade to pickup https://github.com/netty/netty/commit/94d7557dead5e7780769d44bbb4aa7530149ca34 that supposedly fixes memory leak.

LGTM
On 14 Mar 2017 09:02, "Denys Kurylenko"<EMAIL_ADDRESS>wrote:

Force GRPC upgrade to pickup netty/netty@94d7557
https://github.com/netty/netty/commit/94d7557dead5e7780769d44bbb4aa7530149ca34
that supposedly fixes memory leak.
You can view, comment on, or merge this pull request online at:
https://github.com/GoogleCloudPlatform/stackdriver-zipkin/pull/31
Commit Summary

Force GRPC/Netty upgrade to pickup https://github.com/netty/
netty/commit/94d7557dead5e7780769d44bbb4aa7530149ca34
https://github.com/netty/netty/commit/94d7557dead5e7780769d44bbb4aa7530149ca34

File Changes

M pom.xml
https://github.com/GoogleCloudPlatform/stackdriver-zipkin/pull/31/files#diff-0
(1)
M storage/pom.xml
https://github.com/GoogleCloudPlatform/stackdriver-zipkin/pull/31/files#diff-1
(22)
M translation/pom.xml
https://github.com/GoogleCloudPlatform/stackdriver-zipkin/pull/31/files#diff-2
(5)
M translation/src/main/java/com/google/cloud/trace/zipkin/
translation/SpanTranslator.java
https://github.com/GoogleCloudPlatform/stackdriver-zipkin/pull/31/files#diff-3
(1)
M translation/src/test/java/com/google/cloud/trace/zipkin/
translation/LabelExtractorTest.java
https://github.com/GoogleCloudPlatform/stackdriver-zipkin/pull/31/files#diff-4
(1)

Patch Links:

https://github.com/GoogleCloudPlatform/stackdriver-zipkin/pull/31.
patch
https://github.com/GoogleCloudPlatform/stackdriver-zipkin/pull/31.
diff

—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/stackdriver-zipkin/pull/31, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAD610AXDeeKQ3mZe7ekLeosOLBLJN6uks5rljt6gaJpZM4McMfr
.


Nginx RewriteRule support

Is there any plan to support nginx RewriteRule ^!^

I followed all everything above and nothing works even if i disable clean url.
When I disable the clean url and add ? into the URL, it works.
http://mysite.com/index.php?/Design/Theming
My question, in which file I can edit so I can add ? in the url?

clean_url enabled and keelis version worked for me. Complete config:
server {
	listen 80;
	server_name docs.example.com;

	index index.html index.php;
	charset utf-8;

	root /var/www/docs;

	location / {
		if (!-e $request_filename){
			rewrite ^(.*)$ /index.php$1;
		}
	}

	location ~ \.php {
		fastcgi_split_path_info ^(.+\.php)(/.+)$;

		fastcgi_pass unix:/var/run/php5-fpm.sock;
		fastcgi_index index.php;

		include fastcgi_params;
		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
		fastcgi_param PATH_INFO $fastcgi_path_info;
		fastcgi_param ENV production;
	}
}

Thank you @arvidj I will test this and update the documentation accordingly, did you test on the development branch or master ?

Not sure actually because I use a custom version. Sorry about that!

Okay your configuration works fine, I added it to the documentation (in the development branch), thanks for your contribution

It also works fine with clean_urls


It takes a restart in the middle of the boot process.

My environment:

Host:

Windows 10 Home 64bit

Processer: Intel Core i7-7500U CPU @ 2.70GHz 2.90GHz
RAM: 16GB
laptop

Virtualbox: 5.2.26
Vagrant: 2.2.0

Guest:

KEINOS/macOS.10.13.6_Japanese ver. 0.0.1
GUI: true
VRAM:  1024

Vagrantfile:
Vagrant.configure("2") do |config|
  config.vm.box = "KEINOS/macOS.10.13.6_Japanese"
  config.vm.box_version = "0.0.1"
  config.vm.provider "virtualbox" do |vb|
    vb.gui = true
    vb.memory = "1024"
  end
end

Do you mistaken how to write a Vagrant file?
Is there anything I can do?
Thanks.

I was able to start macOS in my environment!
It is doubtful whether this method is good ...
https://techsviewer.com/install-macos-high-sierra-virtualbox-windows/

Glad to hear that!
In which step of the article took effect to boot up on Win?
Will you try with the below setting in your free time?
Vagrant.configure("2") do |config|
  config.vm.box = "KEINOS/macOS.10.13.6_Japanese"
  config.vm.box_version = "0.0.1"
  config.vm.synced_folder ".", "/vagrant", disabled: true
  config.vm.provider "virtualbox" do |vb|
    vb.gui = true
    vb.memory = "2048"
  end
end

+ config.vm.synced_folder ".", "/vagrant", disabled: true
-     vb.memory = "1024"
+     vb.memory = "2048"

High Sierra needs more than 2 GB of memory and lack of memory causes rebooting.
And also you need to disable the synced_folder.
If it works, then these settings are fixed in the box version 0.0.2 released.
So it should work as below:
Vagrant.configure("2") do |config|
  config.vm.box = "KEINOS/macOS.10.13.6_Japanese"
  config.vm.box_version = "0.0.2"
  config.vm.provider "virtualbox" do |vb|
    vb.gui = true
  end
end

-  config.vm.box_version = "0.0.1"
+  config.vm.box_version = "0.0.2"
-  config.vm.synced_folder ".", "/vagrant", disabled: true
-     vb.memory = "2048"

Otherwise, the command below in the article might be the key.
> cd "C:\Program Files\Oracle\VirtualBox\"
> VBoxManage.exe modifyvm "Your VM Name" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff
> VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3"
> VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
> VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"
> VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
> VBoxManage setextradata "Your VM Name" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1

I will check my current VM setting and see the differences.
So we can add them to the default Vagrantfile. =)
Again, thanks for the information!

Seems that the low memory and not disabling synced_folder were NOT the cause ...
I tried with the setting below and even giving an error the VM launched.
Vagrant.configure("2") do |config|
  config.vm.box = "KEINOS/macOS.10.13.6_Japanese"
  config.vm.box_version = "0.0.1"
  config.vm.provider "virtualbox" do |vb|
    vb.gui = true
    vb.memory = "1024"
  end
end

So adding the CPU ID set, EFI and SMC config to the default Vagrant file might be needed.

@hidao80
I updated (v0.0.3) the fixed base box. Which includes the machine settings such as CPU names and etc.

KEINOS/macOS.10.13.6_Japanese v0.0.3 @ VagrantCloud

Here's the Vagrantfile applied to the current version (v0.0.3) as a refference.

Default Vagrantfile for KEINOS/macOS.10.13.6_Japanese v0.0.3 @ GitHub

Hope with this box it launches HighSierra Guest straight forward in Windows10 Host.

macOS HighSierra and Mojave Base boxes updated! Fixed PR #4.

KEINOS/macOS.10.13.6_Japanese v0.0.4 @ VagrantCloud
KEINOS/macOS.10.14.1_Japanese v0.0.3 @ VagrangCloud

Operation report:
By using Vagrantfile_v0.0.4, HighSierra was launched with a single "vagrant up" command!
I did it!


Candlestick chart on estimate

With https://github.com/penumbra-zone/penumbra/pull/4398, we now have a Candlestick data that can be requested from the frontend.
This will be helpful in augmenting our swap & auction estimate component. After an estimate request is made, we should make a CandlestickDataRequest, transform the data as needed for our charting library, and add to the estimate view:

Libraries to consider

visx has boxplot support: https://airbnb.io/visx/docs/stats
chartjs has support: https://www.chartjs.org/chartjs-chart-financial/
others? d3js?

@turbocrime can you update the status on this?

candlestick chart did merge in #1220, but is issued as broken by https://github.com/penumbra-zone/web/issues/1347. i started work on that but was instructed to focus on page api and react wrapper packages which have been through several refactor/wait/review iterations since then, with all available other attention taken by other high priority things
and then all the testnet infra was taken down, and the penumbra-1 chain afaict has no swap activity to examine charts for. this is essentially impossible to work on without a chain containing swap data.
i rebased and spent some time with a local dev net today, i'll open a PR with my rebased work.