Filter on replication of data from couchbase to Elasticsearch

A filter option should be there on keys or patterns of couchbase data to replicate into Elasticsearch while setting up the replication.
There are use cases when you don't need to replicate  whole bucket. Instead you need  only keys following certain patterns to be replicated in ES.

I've added an option to filter documents by their ID at the destination. You can try a preview release that includes this feature here: https://github.com/Branor/elasticsearch-transport-couchbase/releases/tag/v2.1.0-SNAPSHOT

i will tried this night .
Nice for your reactivite .
Le 14 févr. 2015 11:05, "David Ostrovsky"<EMAIL_ADDRESS>a
écrit :

I've added an option to filter documents by their ID at the destination.
You can try a preview release that includes this feature here:
https://github.com/Branor/elasticsearch-transport-couchbase/releases/tag/v2.1.0-SNAPSHOT
—
Reply to this email directly or view it on GitHub
https://github.com/couchbaselabs/elasticsearch-transport-couchbase/issues/8#issuecomment-74370871
.

sorry Branor  i config  es in es.yml like this:
couchbase.keyFilter: org.elasticsearch.transport.couchbase.capi.RegexKeyFilter
couchbase.keyFilterType: exclude
couchbase.keyFilters.filter1:  ^temp.*$
and i put document with ids like : temp:1234
but es replicate this docs

sorry Branor i config es in es.yml like this:
couchbase.keyFilter:
org.elasticsearch.transport.couchbase.capi.RegexKeyFilter
couchbase.keyFilterType: exclude
couchbase.keyFilters.filter1: ^temp.*$
and i put document with ids like : temp:1234
but es replicate this docs
2015-02-14 14:01 GMT+00:00 jamai Ali<EMAIL_ADDRESS>
i will tried this night .
Nice for your reactivite .
Le 14 févr. 2015 11:05, "David Ostrovsky"<EMAIL_ADDRESS>a
écrit :

I've added an option to filter documents by their ID at the destination.
You can try a preview release that includes this feature here:
https://github.com/Branor/elasticsearch-transport-couchbase/releases/tag/v2.1.0-SNAPSHOT
—
Reply to this email directly or view it on GitHub
https://github.com/couchbaselabs/elasticsearch-transport-couchbase/issues/8#issuecomment-74370871
.

please im wating for your response
thinks

im watting for your response
Le 19 févr. 2015 10:50, "jamai Ali"<EMAIL_ADDRESS>a écrit :

sorry Branor i config es in es.yml like this:
couchbase.keyFilter:
org.elasticsearch.transport.couchbase.capi.RegexKeyFilter
couchbase.keyFilterType: exclude
couchbase.keyFilters.filter1: ^temp.*$
and i put document with ids like : temp:1234
but es replicate this docs
2015-02-14 14:01 GMT+00:00 jamai Ali<EMAIL_ADDRESS>
i will tried this night .
Nice for your reactivite .
Le 14 févr. 2015 11:05, "David Ostrovsky"<EMAIL_ADDRESS>a
écrit :

I've added an option to filter documents by their ID at the destination.
You can try a preview release that includes this feature here:
https://github.com/Branor/elasticsearch-transport-couchbase/releases/tag/v2.1.0-SNAPSHOT
—
Reply to this email directly or view it on GitHub
https://github.com/couchbaselabs/elasticsearch-transport-couchbase/issues/8#issuecomment-74370871
.

@ali2007 I'll look into it.

Ok it s verry nice there is a long time and im loking for this solution .
Im not verry good in java i work with this architecture.
Db:couchbase
Search engine: es
Server:node js
Sow js
Le 22 févr. 2015 10:31, "David Ostrovsky"<EMAIL_ADDRESS>a
écrit :

@ali2007 https://github.com/ali2007 I'll look into it.
—
Reply to this email directly or view it on GitHub
https://github.com/couchbaselabs/elasticsearch-transport-couchbase/issues/8#issuecomment-75429095
.

Fixed in v2.1.1

david your gmail please
2015-08-13 19:22 GMT+01:00 David Ostrovsky<EMAIL_ADDRESS>
Closed #8
https://github.com/couchbaselabs/elasticsearch-transport-couchbase/issues/8
.
—
Reply to this email directly or view it on GitHub
https://github.com/couchbaselabs/elasticsearch-transport-couchbase/issues/8#event-381766861
.

Hi there~
I am facing very strange situation that (using CB 4.5.1 enterprise edition) XDCR filter sometimes work sometimes doesn't. Even match test is not working too, you can see in attachment pic.
Please help me to analyze what is wrong with it.

@mashhur As far as I know, the Elasticsearch connector does not play a role in XDCR filtering (the connector just receives whatever documents are sent by Couchbase Server).
I'd recommend posting over on the Couchbase Server forum, and/or since you're an Enterprise customer, raising a support issue.


Missing trait implementations

There are some traits missing for StableVec that could be implemented.
Important traits:

[ ] Hash
[ ] Ord
[ ] Write
[ ] RefUnwindSafe
[ ] UnwindSafe
[ ] PartialOrd

serdes Serialize and Deserialize could also be supported?
Convenience:

[ ] From<BTreeMap<usize, T>>
[ ] Extend<&'a T>
[ ] From<&'_ str>
[ ] From<BinaryHeap<T>>
[ ] From<Box<[T]>>
[ ] From<CString>
[ ] From<String>
[ ] From<Cow<'a, [T]>>
[ ] PartialEq<&'_ [B; N]>
[ ] PartialEq<&'_ mut [B]>
[ ] PartialEq<[B; N]>

This crate is deliberately low level; API convenience is not particularly high on the priority list. Of course, if adding an impl makes sense and has a low maintenance cost, we can add it.

Ord, PartialOrd

I think it's not completely obvious how those would be implemented. Just use the filled slots for comparison? This could easily lead to confusion and subtle bugs. I think I prefer not to implement those.

Hash

Since StableVec implements PartialEq, we need to uphold the property k1 == k2 -> hash(k1) == hash(k2). And our PartialEq impl currently does this: "empty slots, capacity, next_push_index and the indices of elements are all checked. In other words: all observable properties of the stable vectors need to be the same for them to be equal."
So implementing Hash might be non-trivial.

RefUnwindSafe and UnwindSafe

Those are in a strange place right now. I already read proposals to deprecated them.


Crash when executing a single command

Description
contour crashes with SIGABRT when executing a single command, for example: contour ls.
Environment

Git commit hash: ec7d66d4
OS: Linux
Contour configuration: Default configuration
Compiler version: g++ 11.1.0

Steps to Reproduce
Build controur from sources, using the following command:
mkdir build && cmake --build build -- -j4

Then run it to execute a single command, for example contour ls. The command will be executed successfully, but we'll see a crash when contour process tries to free resources and exit.
Here is the complete backtrace:

backtrace
#0  0x00007ffff6267d22 in raise () from /usr/lib/libc.so.6
#1  0x00007ffff6251862 in abort () from /usr/lib/libc.so.6
#2  0x00007ffff65ef802 in __gnu_cxx::__verbose_terminate_handler ()
    at /build/gcc/src/gcc/libstdc++-v3/libsupc++/vterminate.cc:95
#3  0x00007ffff65fbc8a in __cxxabiv1::__terminate (handler=<optimized out>)
    at /build/gcc/src/gcc/libstdc++-v3/libsupc++/eh_terminate.cc:48
#4  0x00007ffff65fbcf7 in std::terminate ()
    at /build/gcc/src/gcc/libstdc++-v3/libsupc++/eh_terminate.cc:58
#5  0x0000000000b561db in std::thread::~thread (this=0xf73ce8, __in_chrg=<optimized out>)
    at /usr/include/c++/11.1.0/bits/std_thread.h:152
#6  0x0000000000b7cb86 in terminal::PtyProcess::~PtyProcess (this=0xf73cd0,
    __in_chrg=<optimized out>)
    at /home/jubnzv/Sources/contour/src/terminal/pty/PtyProcess.cpp:41
#7  0x0000000000b7cbce in terminal::PtyProcess::~PtyProcess (this=0xf73cd0,
    __in_chrg=<optimized out>)
    at /home/jubnzv/Sources/contour/src/terminal/pty/PtyProcess.cpp:41
#8  0x0000000000b68220 in std::default_delete<terminal::Pty>::operator() (this=0xf77848,
    __ptr=0xf73cd0) at /usr/include/c++/11.1.0/bits/unique_ptr.h:85
#9  0x0000000000b64ede in std::unique_ptr<terminal::Pty, std::default_delete<terminal::Pty> >::~unique_ptr (this=0xf77848, __in_chrg=<optimized out>)
    at /usr/include/c++/11.1.0/bits/unique_ptr.h:361
#10 0x0000000000b573fe in contour::TerminalSession::~TerminalSession (this=0xf77000,
    __in_chrg=<optimized out>)
    at /home/jubnzv/Sources/contour/src/contour/TerminalSession.cpp:124
#11 0x0000000000b5747e in contour::TerminalSession::~TerminalSession (this=0xf77000,
    __in_chrg=<optimized out>)
    at /home/jubnzv/Sources/contour/src/contour/TerminalSession.cpp:124
#12 0x0000000000aaef96 in std::default_delete<contour::TerminalSession>::operator() (
    this=0xf73500, __ptr=0xf77000) at /usr/include/c++/11.1.0/bits/unique_ptr.h:85
#13 0x0000000000aaeacc in std::unique_ptr<contour::TerminalSession, std::default_delete<contour::TerminalSession> >::~unique_ptr (this=0xf73500, __in_chrg=<optimized out>)
    at /usr/include/c++/11.1.0/bits/unique_ptr.h:361
#14 0x0000000000b72e24 in contour::TerminalWindow::TerminalWindow (this=0xf731e0,
    _config=..., _liveConfig=false, _profileName="", _programPath="")
    at /home/jubnzv/Sources/contour/src/contour/TerminalWindow.cpp:290
#15 0x0000000000b536fa in contour::Controller::newWindow (this=0x7fffffffae30)
    at /home/jubnzv/Sources/contour/src/contour/Controller.cpp:56
#16 0x0000000000b533d5 in operator() (__closure=0xf6c040)
    at /home/jubnzv/Sources/contour/src/contour/Controller.cpp:40
#17 0x0000000000b53ba1 in QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, contour::Controller::Controller(std::string, contour::config::Config, bool, std::string)::<lambda()> >::call(struct {...} &, void **) (f=..., arg=0x7fffe40047c8)
    at /usr/include/qt/QtCore/qobjectdefs_impl.h:146
#18 0x0000000000b53b73 in QtPrivate::Functor<contour::Controller::Controller(std::string, contour::config::Config, bool, std::string)::<lambda()>, 0>::call<QtPrivate::List<>, void>(struct {...} &, void *, void **) (f=..., arg=0x7fffe40047c8)
    at /usr/include/qt/QtCore/qobjectdefs_impl.h:256
#19 0x0000000000b53b42 in QtPrivate::QFunctorSlotObject<contour::Controller::Controller(std::string, contour::config::Config, bool, std::string)::<lambda()>, 0, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=1, this_=0xf6c030,
    r=0x7fffffffae30, a=0x7fffe40047c8, ret=0x0)
    at /usr/include/qt/QtCore/qobjectdefs_impl.h:443
--Type <RET> for more, q to quit, c to continue without paging--
#20 0x00007ffff6b9554f in QObject::event(QEvent*) () from /usr/lib/libQt5Core.so.5
#21 0x00007ffff763dd62 in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
   from /usr/lib/libQt5Widgets.so.5
#22 0x00007ffff6b683fa in QCoreApplication::notifyInternal2(QObject*, QEvent*) ()
   from /usr/lib/libQt5Core.so.5
#23 0x00007ffff6b6b4f9 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQt5Core.so.5
#24 0x00007ffff6bc19f4 in ?? () from /usr/lib/libQt5Core.so.5
#25 0x00007ffff5cb24dc in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#26 0x00007ffff5d06749 in ?? () from /usr/lib/libglib-2.0.so.0
#27 0x00007ffff5cafbc1 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#28 0x00007ffff6bc1026 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQt5Core.so.5
#29 0x00007ffff6b66d6c in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) ()
   from /usr/lib/libQt5Core.so.5
#30 0x00007ffff6b6f2d4 in QCoreApplication::exec() () from /usr/lib/libQt5Core.so.5
#31 0x0000000000b4bba5 in contour::terminalGUI (argc=2, argv=0x7fffffffb7c8, _flags=...)
    at /home/jubnzv/Sources/contour/src/contour/ContourGuiApp.cpp:194
#32 0x0000000000b4bfda in contour::ContourGuiApp::terminalGuiAction (this=0x7fffffffb4f0)
    at /home/jubnzv/Sources/contour/src/contour/ContourGuiApp.cpp:205
#33 0x0000000000b52929 in std::__invoke_impl<int, int (contour::ContourGuiApp::*&)(), contour::ContourGuiApp*&> (
    __f=@0xebb3b0: (int (contour::ContourGuiApp::*)(contour::ContourGuiApp * const)) 0xb4bfa0 <contour::ContourGuiApp::terminalGuiAction()>, __t=@0xebb3c0: 0x7fffffffb4f0)
    at /usr/include/c++/11.1.0/bits/invoke.h:74
#34 0x0000000000b52407 in std::__invoke<int (contour::ContourGuiApp::*&)(), contour::ContourGuiApp*&> (
    __fn=@0xebb3b0: (int (contour::ContourGuiApp::*)(contour::ContourGuiApp * const)) 0xb4bfa0 <contour::ContourGuiApp::terminalGuiAction()>) at /usr/include/c++/11.1.0/bits/invoke.h:96
#35 0x0000000000b518c5 in std::_Bind<int (contour::ContourGuiApp::*(contour::ContourGuiApp*))()>::__call<int, , 0ul>(std::tuple<>&&, std::_Index_tuple<0ul>) (this=0xebb3b0, __args=...)
    at /usr/include/c++/11.1.0/functional:420
#36 0x0000000000b510c1 in std::_Bind<int (contour::ContourGuiApp::*(contour::ContourGuiApp*))()>::operator()<, int>() (this=0xebb3b0) at /usr/include/c++/11.1.0/functional:503
#37 0x0000000000b50432 in std::__invoke_impl<int, std::_Bind<int (contour::ContourGuiApp::*(contour::ContourGuiApp*))()>&>(std::__invoke_other, std::_Bind<int (contour::ContourGuiApp::*(contour::ContourGuiApp*))()>&) (__f=...) at /usr/include/c++/11.1.0/bits/invoke.h:61
#38 0x0000000000b4f446 in std::__invoke_r<int, std::_Bind<int (contour::ContourGuiApp::*(contour::ContourGuiApp*))()>&>(std::_Bind<int (contour::ContourGuiApp::*(contour::ContourGuiApp*))()>&) (__fn=...) at /usr/include/c++/11.1.0/bits/invoke.h:114
#39 0x0000000000b4e14d in std::_Function_handler<int (), std::_Bind<int (contour::ContourGuiApp::*(contour::ContourGuiApp*))()> >::_M_invoke(std::_Any_data const&) (__functor=...)
    at /usr/include/c++/11.1.0/bits/std_function.h:291
#40 0x0000000000cb4594 in std::function<int ()>::operator()() const (this=0xebb430)
    at /usr/include/c++/11.1.0/bits/std_function.h:560
#41 0x0000000000cb1d93 in crispy::App::run (this=0x7fffffffb4f0, argc=2, argv=0x7fffffffb7c8)
    at /home/jubnzv/Sources/contour/src/crispy/App.cpp:242
#42 0x0000000000b4a6a4 in contour::ContourGuiApp::run (this=0x7fffffffb4f0, argc=2,
    argv=0x7fffffffb7c8) at /home/jubnzv/Sources/contour/src/contour/ContourGuiApp.cpp:52
#43 0x0000000000adc837 in main (argc=2, argv=0x7fffffffb7c8)
    at /home/jubnzv/Sources/contour/src/contour/main.cpp:24

Hey @jubnzv
Many thanks for the report. That's actually interesting because I was just recently implementing special handling of too fast terminating applications (such as /bin/ls), that means, you should have seen a notice at the end that your program has terminated too fast. Hmm. I'll look into that.
p.s.: Did you try other commands too?

Hi @christianparpart
Thank you for the reply.

Did you try other commands too?

Yes, I have also tried other commands. For example, calling notify-send or some simple shell commands like mkdir causes a crash.
But, for example, controur sleep 1 works correctly. So I think you're right, the problem is caused by fast terminating applications.

I will rewrite a little logic over the weekend to avoid this issue.
For some reason I can't reproduce this. But I will keep trying :)

Sorry, this was my mistake. There is no bug in the recent version of contour.
When I started trying to fix it myself, I found, that there were problems with my build environment.  So, I was executing a binary built about 2 weeks ago with this bug.

Never mind. I am also open for feedback on the source code, if you are interested in looking at it. You can also join our discord for a more direct communication . Happy Halloween. ;-)


Payin + Payout via Uphold

https://uphold.com/en/developer/api/documentation/#introduction

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

Payouts look very promising. We could pay to a USD card, and users could use uphold to convert between USD <-> BTC.

https://support.uphold.com/hc/en-us/articles/205845376-In-which-countries-does-Uphold-offer-bank-account-funding-and-withdrawals-

People from other countries are allowed to be members though.

See also: https://github.com/naspeh/mailur/issues/4#issuecomment-158753298.

I like options.

@kaguillera and I are prepared to account for this. Right, @kaguillera? :-)

I guess we'll need to sign up for an account and go through their due diligence process, eh?

@whit537 - Can you get started with that? At least we'll be able to clearly mark this ticket as 'Ready to start' or close it :)

By integrating with Uphold’s seamless and open API; Uphold Connect, developers and third parties can create applications, products and services that instantly, and securely deliver and transfer any type of money or commodity to anyone, anywhere at no cost, including free currency conversations and storage. Uphold has built world-leading Know Your Customer (KYC) and Anti-Money Laundering (AML) controls right into its open API. This takes care of the regulatory burden and control requirements developers face when entering the financial economy, allowing innovation without restrictions on a globally compliant and robust platform.

Can you get started with that?

Sure thing! :-)

Hoping to dig into this tomorrow ...

Alright ...

/me watches their intro video

Doing some digging.
http://fortune.com/2015/10/14/bitreserve-bitcoin-uphold/ ← Launched as Bitreserve in 2013, pivoted to Uphold in late 2014.
https://en.wikipedia.org/wiki/Halsey_Minor ← Founder. Made his money on CNET and Salesforce.

The question I'm asking is, what are the implications of Uphold for #3504?

Uphold requires users to join Uphold and go through identity verification on their side. Either, then:

We decide that Uphold is going to be our new Balanced, and proactively drive our users to Uphold.
Offer Uphold as an option for users who already have an Uphold account.

(1) is tempting, because they've got chops and capital and they're moving a lot faster than us. However, I see several risks down this path (eggs-in-one-basket, lack of control, making Halsey even richer), so we'd want to talk that through.
(2) should be driven by user demand. Do we have that yet? Do we have users clamoring for Uphold as a payments option?

Why not both?

Sure, I guess (1) is a superset of (2). Is that what you're saying?

Kinda. I see us doing exactly what we do with PayPal - If you have an account, you're welcome to link it.  If you don't - we'll encourage you to make one.

If you don't - we'll encourage you to make one.

Except that in the glorious future we want to be able to have users give us their identity info and bank details, so that we can deposit to them ourselves (via Transpay or ACH) rather than having another brand in between. Right?

in the glorious future we want to be able to have users give us their identity info and bank details, so that we can deposit to them ourselves (via Transpay or ACH) rather than having another brand in between. Right?

That is the goal, yes :) My aim here is to get us some stability while we pursue that goal.

(Let's use https://github.com/gratipay/inside.gratipay.com/issues/479#issuecomment-175733684 for this convo).

I'm looking at creating an Uphold account, but it's not clear to me whether there's a difference between an individual and a business account.

I've created and confirmed email for an account. Looking at registering a dev app ... looking really nice ...

I am reeeeeeeaaaalllllly wondering if we should go all-in on Uphold instead of rolling our own vault (https://github.com/gratipay/gratipay.com/issues/3504) and AML (https://github.com/gratipay/inside.gratipay.com/issues/119). What's our unique value proposition? Such existential questions!!!!

What specifically do you need in order to make progress here, @rohitpaulk?

What specifically do you need in order to make progress here, @rohitpaulk?

I didn't see anything related to compliance when I signed up for a dev app - so I think sending them an email to confirm that our use case fits the bill should be enough for me to get started here.

https://support.uphold.com/hc/en-us/requests/new

Sent:
Subject: introducing Gratipay: a good fit?

Greetings! I'm the founder of a payment processor called Gratipay. We've been around for about four years and have processed about $1M. Our niche is open-source software and other open culture projects. We currently support credit cards for payin, and PayPal for payouts. We're interested in adding Uphold as a payout method. Does this sound like a good fit?

A personal message to me from Halsey Minor! :scream_cat:

Our members are very important to us, and I personally want to ensure you have access to the right people in our team to provide you with the best possible experience. Drop us a line at:

<EMAIL_ADDRESS>- To learn about partnerships and our custom corporate services

https://gratipay.freshdesk.com/helpdesk/tickets/4052

Heard back from a sales rep: "This sounds like an excellent fit!" Gave me a link to schedule a call ...

Thanks, []! I've scheduled a call for today at 2:30 PM (US/Eastern). Looking forward to it! :-)

@rohitpaulk I would've tried to work around your schedule so you could join the call, but all of the available times were in the afternoon US/Eastern. You're still welcome to join, of course. :)

P.S. Gratipay is an open company, which means (among other things) that we do our internal decision making in public. For your reference, I'll be summarizing our conversation on this public ticket:

https://github.com/gratipay/gratipay.com/issues/3870

Talk soon! :-)

That looks like 1 AM for me, if I'm not wrong. If so, 80% probability that I'll attend :)

Okay! What's your Skype?

@rohitpaulk Or contact request me, I'm whit537 on Skype.

I've added you on Skype. I don't think basic Skype accounts support group calls, we might have to shift to Google Hangouts

Gotcha. I did find this:

And now everyone has group video calling for free, it’s easier than ever.

http://www.skype.com/en/features/group-video-chat/

Aha, perfect

Sent a contact request on Skype and left a message for the Uphold sales rep. Waiting to hear bac.

Emailed:

We on for a call or should we reschedule?

@whit537 - Looks like you haven't accepted the contact request yet, so I'm unable to call you

Really? I think I did accept it.

I'm chatting with the sales rep in Skype, setting up the call ...

@rohitpaulk Privacy settings?

Lemme check

I'm not getting any of those messages :|

You need one member of the group who is a friend with all of the other members of the group, and he has to start the group chat (by adding all the other members).

The friends status must be confirmed, ie the others must accept the request-just sending a request is not enough.

!m @rohitpaulk
For the record, we got @rohitpaulk in for the second half of the call.

I think my desktop client was outdated, on web now

Okay! So ... what did we learn?

Uphold has 60-70 employees worldwide.
Currently U.S. and Europe. They are working on payouts to Mexico now, aiming for India this summer.
We can only pay out in fiat currencies to Uphold customers. It's currently possible to pay out to raw bitcoin(!), but it sounds like they're going to tighten that up as well over the course of the year.
He made some interesting comments about payroll being "easier" from a regulatory standpoint,  referring obliquely to money transmission exemptions. I didn't dig.
They're trying to differentiate from "wallet" on the one hand (crowded market: PayPal, Google Wallet—"novelty products"), and "bank" on the other (regulatory burden, "nerdy reasons")—"we call it cloud money" "for consumers, more utility etc. etc.; for our partners, the AWS of money"
We have limited access to identity information via OAuth (we specifically don't get the JPG of their passport).
They have a compliance department that'll do due diligence before we can get started. He hinted that their compliance department may require ongoing due diligence on our customers as well(!).

The next step is this compliance form.

Anything I missed, @rohitpaulk?

We got bit by this before by StartSSL if I remember right. Maybe I should get a business phone line at the house just for this purpose.

We forging ahead with compliance, @rohitpaulk?

We can try using our latest LLC amendment for address verification, I'm pretty sure I changed our registered address to 716 Park Road.

We can only pay out in fiat currencies to Uphold customers. It's currently possible to pay out to raw bitcoin(!), but it sounds like they're going to tighten that up as well over the course of the year.

In the first case, all liability is on Uphold - they'll handle KYC on their end. In case of paying out to raw bitcoin (people who don't have a Uphold account), we'll have to provide them some information about the users we're paying out to - which would bring us back to #2449.

We forging ahead with compliance, @rohitpaulk?

Yes :beers:

Thanks for the call. As a reminder, here is the link to our business account application process. When you are done with that process, let's schedule more time to talk, and try to map out more of the solution!

https://www.cognitoforms.com/UpholdInc/BusinessAccountApplication

Took a look at this, figured I'd try using our LLC organization papers as proof of address. Started off well enough ...

But then ... :flushed:

We're right back to #3504 and https://github.com/gratipay/inside.gratipay.com/issues/214.

@rohitpaulk What do you see as next steps here?

I don't think this'll pan out anytime soon :confused: Shall we focus on https://github.com/gratipay/gratipay.com/issues/726 for the time being?

Shall we focus on #726 for the time being?

Sounds like a plan ...

Blocked by paperwork.

@mattbk More than just paperwork, I'm afraid. It's gonna take a lot of work to be able to answer their questions well!

text version

Re-ticketed to https://github.com/gratipay/inside.gratipay.com/issues/974 for further discussion and planning. After deciding on concrete implementation plan and dev work starts, this will be reopened for tracking purpose.


Adding shebang & code refactoring

You should always add a shebang! In this case you should add the shebang of python2.7
I can know it's python 2.7 from the the first "print" I see :)
Also, you have too many prints in there! You should refactor that! It'll affect the execution time. → Not only the prints anything else that you used like you did with prints!
I think that it's not a good thing to adopt the "one file" strategy, as it will have too many lines and it will affect the maintenance of the code.
Other PQ are coming..

this is only a beta version of the tool , many and many improuvements will occur , thank you very much


Added instructions for device boot timeout to README

Added instruction on what to do when you receive Instruments Usage Error: Timed out waiting for device to boot: {{deviceName}} ({{iOS Version}} Simulator) when running snapshot inside of tmux

Thank you @milch :+1:


feat: support paging offsets

TESTING=manual

FYI: https://github.com/promotedai/schema-internal/pull/20

I had an issue with a manual test yesterday.  I thought this syntax worked when request.paging was nil.  It doesn't.  Here's a fix.
https://github.com/promotedai/promoted-ruby-client/pull/5

If I don't do || 0, I get an error.


Convert code to include static types

Issue To Be Solved
Not sure where this lands, but something like this would be nice
if I have code like below:
var a = "deniz"

some tool converting this to:
var a : String = "deniz"

Extension is showing types, but also would nice to people use this somehow, then we have this on deployed contracts.

I saw this feature in the Swift VS Code extension and in the Rust extension (really, rust-analyzer): It shows inferred types as inlay hints, which we already have, but also provides an action to insert the inlay hint text into the code. See e.g https://stackoverflow.com/questions/72276850/can-vs-code-rust-analyzer-insert-inlay-hints-into-the-code.
We can probably just copy that implementation approach.

Turns out this is actually a feature of VS Code: When the inlay hint provided by the language server provides text edits, then the action becomes available: https://github.com/microsoft/vscode/blob/adbcbfa5d06a268f338c00ecb15e7860261e5b63/src/vs/editor/contrib/inlayHints/browser/inlayHintsHover.ts#L97-L99


Migrate shipwright instructions and YAML to use version >=0.12

TODO

[x] Migrate shipwright instructions and github flow to use version >= 0.12
[x] Review the build, buildrun and buildStrategy as API version changed from v1alpha1 to v1beta1. See changes: https://shipwright.io/blog/2023/11/07/introducing-shipwright-beta-api/

PR merged and released: #55


Add monitor docs for mod_static.

Codecov Report

Merging #93 into develop will increase coverage by 0.02%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           develop     #93      +/-   ##
==========================================
+ Coverage    52.78%   52.8%   +0.02%
==========================================
  Files          200     200
  Lines        20791   20791
==========================================
+ Hits         10974   10979       +5
+ Misses        8602    8598       -4
+ Partials      1215    1214       -1

Impacted Files
Coverage Δ

bfe_http2/server.go
71.5% <0%> (-0.33%)
:arrow_down:

bfe_spdy/server_conn.go
78.53% <0%> (ø)
:arrow_up:

bfe_http2/writesched.go
80.91% <0%> (+1.52%)
:arrow_up:

bfe_websocket/server_conn.go
78.03% <0%> (+3.78%)
:arrow_up:

bfe_balance/bal_gslb/sub_cluster.go
55.55% <0%> (+7.4%)
:arrow_up:

Continue to review full report at Codecov.

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


Proper file IO loops

File read/write should be performed in a loop. See:

https://github.com/UAVCAN/uavcan/blob/master/libuavcan_drivers/posix/include/uavcan_posix/dynamic_node_id_server/file_event_tracer.hpp#L57
https://github.com/UAVCAN/uavcan/blob/master/libuavcan_drivers/posix/include/uavcan_posix/dynamic_node_id_server/file_storage_backend.hpp#L84
https://github.com/UAVCAN/uavcan/blob/master/libuavcan_drivers/posix/include/uavcan_posix/dynamic_node_id_server/file_storage_backend.hpp#L58
https://github.com/UAVCAN/uavcan/blob/master/libuavcan_drivers/posix/include/uavcan_posix/firmware_version_checker.hpp#L128
https://github.com/UAVCAN/uavcan/blob/master/libuavcan_drivers/posix/include/uavcan_posix/basic_file_server_backend.hpp#L405

@pavel-kirienko see https://github.com/UAVCAN/libuavcan/pull/59
please test on Linix

Thanks David! Merged.


unable to set memory resource limits

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
level=info msg="clang (10.0.0) and kernel (5.18.14) versions: OK!" subsys=linux-datapath
level=info msg="linking environment: OK!" subsys=linux-datapath
level=info msg="Detected mounted BPF filesystem at /sys/fs/bpf" subsys=bpf
level=info msg="Mounted cgroupv2 filesystem at /run/cilium/cgroupv2" subsys=cgroups
level=info msg="Parsing base label prefixes from default label list" subsys=labels-filter
level=info msg="Parsing additional label prefixes from user inputs: []" subsys=labels-filter
level=info msg="Final label prefixes to be used for identity evaluation:" subsys=labels-filter
level=info msg=" - reserved:.*" subsys=labels-filter
level=info msg=" - :io\.kubernetes\.pod\.namespace" subsys=labels-filter
level=info msg=" - :io\.cilium\.k8s\.namespace\.labels" subsys=labels-filter
level=info msg=" - :app\.kubernetes\.io" subsys=labels-filter
level=info msg=" - !:io\.kubernetes" subsys=labels-filter
level=info msg=" - !:kubernetes\.io" subsys=labels-filter
level=info msg=" - !:.beta\.kubernetes\.io" subsys=labels-filter
level=info msg=" - !:k8s\.io" subsys=labels-filter
level=info msg=" - !:pod-template-generation" subsys=labels-filter
level=info msg=" - !:pod-template-hash" subsys=labels-filter
level=info msg=" - !:controller-revision-hash" subsys=labels-filter
level=info msg=" - !:annotation." subsys=labels-filter
level=info msg=" - !:etcd_node" subsys=labels-filter
level=info msg="Auto-disabling "enable-bpf-clock-probe" feature since KERNEL_HZ cannot be determined" error="Cannot probe CONFIG_HZ" subsys=daemon
level=info msg="Using autogenerated IPv4 allocation range" subsys=node v4Prefix=<IP_ADDRESS>/16
level=info msg="Disabled support for IPv4 fragments due to missing kernel support for BPF LRU maps" subsys=daemon
level=info msg="Initializing daemon" subsys=daemon
level=info msg="Establishing connection to apiserver" host="https://<IP_ADDRESS>:443" subsys=k8s
level=info msg="Connected to apiserver" subsys=k8s
level=info msg="Auto-disabling "enable-node-port", "enable-external-ips", "bpf-lb-sock", "enable-host-port" features and falling back to "enable-host-legacy-routing"" subsys=daemon
level=error msg="unable to set memory resource limits" error="unexpected error detecting memory cgroup accounting: permission denied" subsys=daemon
level=fatal msg="Error while creating daemon" error="unable to set memory resource limits: unexpected error detecting memory cgroup accounting: permission denied" subsys=daemon
Cilium Version
cilium version
cilium-cli: v0.12.0 compiled with go1.18.4 on linux/amd64
cilium image (default): v1.12.0
cilium image (stable): v1.12.0
cilium image (running): v1.12.0
Kernel Version
Linux localhost.localdomain 5.18.14-1.el7.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Jul 22 12:52:41 EDT 2022 x86_64 x86_64 x86_64 GNU/Linux
Kubernetes Version
Client Version: version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.3", GitCommit:"aef86a93758dc3cb2c658dd9657ab4ad4afc21cb", GitTreeState:"clean", BuildDate:"2022-07-13T14:30:46Z", GoVersion:"go1.18.3", Compiler:"gc", Platform:"linux/amd64"}
Kustomize Version: v4.5.4
Server Version: version.Info{Major:"1", Minor:"24", GitVersion:"v1.24.0", GitCommit:"4ce5a8954017644c5420bae81d72b09b735c21f0", GitTreeState:"clean", BuildDate:"2022-05-03T13:38:19Z", GoVersion:"go1.18.1", Compiler:"gc", Platform:"linux/amd64"}
Sysdump
[root@localhost ~]# cilium version
cilium-cli: v0.12.0 compiled with go1.18.4 on linux/amd64
cilium image (default): v1.12.0
cilium image (stable): v1.12.0
cilium image (running): v1.12.0
[root@localhost ~]# cilium sysdump
🔍 Collecting sysdump with cilium-cli version: v0.12.0, args: [sysdump]
🔍 Collecting Kubernetes nodes
🔍 Collect Kubernetes nodes
🔍 Collecting Kubernetes events
🔍 Collect Kubernetes version
🔍 Collecting Kubernetes pods
🔍 Collecting Kubernetes namespaces
🔍 Collecting Kubernetes services
🔍 Collecting Kubernetes endpoints
🔍 Collecting Kubernetes pods summary
🔍 Collecting Kubernetes network policies
🔍 Collecting Cilium cluster-wide network policies
🔍 Collecting Cilium network policies
🔍 Collecting Cilium local redirect policies
🔍 Collecting Cilium egress NAT policies
🔍 Collecting Cilium endpoints
🔍 Collecting Cilium identities
🔍 Collecting Cilium nodes
🔍 Collecting Ingresses
🔍 Collecting CiliumClusterwideEnvoyConfigs
🔍 Collecting CiliumEnvoyConfigs
🔍 Collecting Cilium etcd secret
🔍 Collecting the Cilium configuration
🔍 Collecting the Cilium daemonset(s)
🔍 Collecting the Hubble daemonset
🔍 Collecting the Hubble Relay deployment
🔍 Collecting the Hubble Relay configuration
🔍 Collecting the Hubble UI deployment
🔍 Collecting the Cilium operator deployment
🔍 Collecting the 'clustermesh-apiserver' deployment
🔍 Collecting gops stats from Hubble pods
🔍 Collecting the CNI configuration files from Cilium pods
🔍 Collecting gops stats from Hubble Relay pods
🔍 Collecting the CNI configmap
🔍 Collecting gops stats from Cilium pods
⚠ Deployment "hubble-relay" not found in namespace "kube-system" - this is expected if Hubble is not enabled
🔍 Collecting 'cilium-bugtool' output from Cilium pods
⚠ Deployment "hubble-ui" not found in namespace "kube-system" - this is expected if Hubble UI is not enabled
⚠ Deployment "clustermesh-apiserver" not found in namespace "kube-system" - this is expected if 'clustermesh-apiserver' isn't enabled
🔍 Collecting logs from Cilium pods
🔍 Collecting logs from 'clustermesh-apiserver' pods
🔍 Collecting logs from Cilium operator pods
🔍 Collecting logs from Hubble pods
🔍 Collecting logs from Hubble Relay pods
🔍 Collecting logs from Hubble UI pods
🔍 Collecting platform-specific data
🔍 Collecting Hubble flows from Cilium pods
⚠ Container "cilium-agent" for pod "cilium-4pv79" in namespace "kube-system" is not running. Trying EphemeralContainer or separate Pod instead...
⚠ EphemeralContainer "sysdump-1658990913" on pod "cilium-4pv79" in namespace "kube-system" never reached Running status (falling back to separate Pod)
⚠ Container "cilium-agent" on pod "cilium-4pv79" in namespace "kube-system" is not running. Creating exec Pod.
⚠ The following tasks failed, the sysdump may be incomplete:
⚠ [11] Collecting Cilium egress NAT policies: failed to collect Cilium egress NAT policies: the server could not find the requested resource (get ciliumegressnatpolicies.cilium.io)
⚠ [12] Collecting Cilium local redirect policies: failed to collect Cilium local redirect policies: the server could not find the requested resource (get ciliumlocalredirectpolicies.cilium.io)
⚠ [17] Collecting CiliumClusterwideEnvoyConfigs: failed to collect CiliumClusterwideEnvoyConfigs: the server could not find the requested resource (get ciliumclusterwideenvoyconfigs.cilium.io)
⚠ [18] Collecting CiliumEnvoyConfigs: failed to collect CiliumEnvoyConfigs: the server could not find the requested resource (get ciliumenvoyconfigs.cilium.io)
⚠ [23] Collecting the Hubble Relay configuration: failed to collect the Hubble Relay configuration: configmaps "hubble-relay-config" not found
⚠ cniconflist-cilium-4pv79: unable to upgrade connection: container not found ("cilium-agent")
⚠ gops-cilium-4pv79-memstats: failed to list processes "cilium-4pv79" ("cilium-agent") in namespace "kube-system": unable to upgrade connection: container not found ("cilium-agent")
⚠ gops-cilium-4pv79-stack: failed to list processes "cilium-4pv79" ("cilium-agent") in namespace "kube-system": unable to upgrade connection: container not found ("cilium-agent")
⚠ gops-cilium-4pv79-stats: failed to list processes "cilium-4pv79" ("cilium-agent") in namespace "kube-system": unable to upgrade connection: container not found ("cilium-agent")
⚠ hubble-flows-cilium-4pv79: failed to collect hubble flows for "cilium-4pv79" in namespace "kube-system": unable to upgrade connection: container not found ("cilium-agent"):
⚠ Please note that depending on your Cilium version and installation options, this may be expected
🗳 Compiling sysdump
✅ The sysdump has been saved to /root/cilium-sysdump-20220728-024832.zip
Relevant log output
level=info msg="clang (10.0.0) and kernel (5.18.14) versions: OK!" subsys=linux-datapath
level=info msg="linking environment: OK!" subsys=linux-datapath
level=info msg="Detected mounted BPF filesystem at /sys/fs/bpf" subsys=bpf
level=info msg="Mounted cgroupv2 filesystem at /run/cilium/cgroupv2" subsys=cgroups
level=info msg="Parsing base label prefixes from default label list" subsys=labels-filter
level=info msg="Parsing additional label prefixes from user inputs: []" subsys=labels-filter
level=info msg="Final label prefixes to be used for identity evaluation:" subsys=labels-filter
level=info msg=" - reserved:.*" subsys=labels-filter
level=info msg=" - :io\\.kubernetes\\.pod\\.namespace" subsys=labels-filter
level=info msg=" - :io\\.cilium\\.k8s\\.namespace\\.labels" subsys=labels-filter
level=info msg=" - :app\\.kubernetes\\.io" subsys=labels-filter
level=info msg=" - !:io\\.kubernetes" subsys=labels-filter
level=info msg=" - !:kubernetes\\.io" subsys=labels-filter
level=info msg=" - !:.*beta\\.kubernetes\\.io" subsys=labels-filter
level=info msg=" - !:k8s\\.io" subsys=labels-filter
level=info msg=" - !:pod-template-generation" subsys=labels-filter
level=info msg=" - !:pod-template-hash" subsys=labels-filter
level=info msg=" - !:controller-revision-hash" subsys=labels-filter
level=info msg=" - !:annotation.*" subsys=labels-filter
level=info msg=" - !:etcd_node" subsys=labels-filter
level=info msg="Auto-disabling \"enable-bpf-clock-probe\" feature since KERNEL_HZ cannot be determined" error="Cannot probe CONFIG_HZ" subsys=daemon
level=info msg="Using autogenerated IPv4 allocation range" subsys=node v4Prefix=<IP_ADDRESS>/16
level=info msg="Disabled support for IPv4 fragments due to missing kernel support for BPF LRU maps" subsys=daemon
level=info msg="Initializing daemon" subsys=daemon
level=info msg="Establishing connection to apiserver" host="https://<IP_ADDRESS>:443" subsys=k8s
level=info msg="Connected to apiserver" subsys=k8s
level=info msg="Auto-disabling \"enable-node-port\", \"enable-external-ips\", \"bpf-lb-sock\", \"enable-host-port\" features and falling back to \"enable-host-legacy-routing\"" subsys=daemon
level=error msg="unable to set memory resource limits" error="unexpected error detecting memory cgroup accounting: permission denied" subsys=daemon
level=fatal msg="Error while creating daemon" error="unable to set memory resource limits: unexpected error detecting memory cgroup accounting: permission denied" subsys=daemon

Anything else?
no
Code of Conduct

[X] I agree to follow this project's Code of Conduct

can you try to add CAP_SYS_RESOURCE in securityContext.extraCapabilities list ?

I have encountered the same problem. Have you solved it?

I have the same problem, it's due to selinux. After I disabled selinux everything works.


Addressing defect (Issue #28) related to bad command matching

Sorry about that!  This defect showed up during the testing of mesh radio network.

Good catch! I missed it in my review too.
And thanks for adding a unit test to ensure we'll catch regressions


Assembly App: help tooltip behavior inconsistent

Help tooltips for paired library and parameters appear after clicking.

The same on the selected library panel appear on mouseover.

Also, tooltip for he advanced parameter never appear, seems it is  hidden behind other div layers.

Fangfang @levinas is working on the help text for the advanced parameter box.
It is consistent throughout the apps that large information boxes appear on clicking and small ones appear on mouseover. I raised the same inconsistency before and this is what we decided to go with. This inconsistency is consistent.
The advanced parameter help is indeed hidden. It only appears when the advanced box is expanded. I looked at it both ways and decided that it was less confusing to only have help for UI elements that were visible.

regarding "The advanced parameter help is indeed hidden." My point is not that the (i) link appears after opening advanced options, It is that when I click on (i) the tooltip box appears behind the parameter panel. Look closely near top right corner of the parameters panel!

It wasn't hidden it was incomplete. As I alluded previously, Fangfang had not yet written the advanced help text. That is why the div was empty and the popup was showing up in measly fashion. It is now present.


Fixes #1003: adding fabric8.debug.suspend flag

This requires the base image to support the env variable JAVA_DEBUG_SUSPEND (https://github.com/fabric8io-images/run-java-sh/pull/21 and other PRs to come for the base images).
Each run of fabric8:deploy -Dfabric8.debug.suspend restarts the pod, so a debugger can attach at startup. Readiness probes are disabled.

[merge]


Issues with certain strings and bangs

There appears to be an issue with strings in different contexts, and bangs when they occur in pipelines.
Here, a string is not highlighted:

here an interpolated string is not correctly highlighted:

here, bangs are inconsistently highlighted:

but the interpolated string looks correct here:

Edit: this is in Helix

Thanks for your issue. I'll look into it shortly. :).
The strings issue is because of a change I made to highlight strings as other languages. I should have constrained it to a pre-approved list, which I will now do.
The bangs, I'm not sure about and will investigate.

Hey @lboklin I updated the highlights and the parser.
Try building the parser and using the new queries and let me know how it goes

I've copied the majority of the code to text, here's what I've got:
app [main] {
    pf: platform "https://github.com/roc-lang/basic-webserver/releases/download/0.4.0/iAiYpbs5zdVB75golcg_YMtgexN3e2fwhsYPLPCeGzk.tar.br",
    html: "https://github.com/Hasnep/roc-html/releases/download/v0.6.0/IOyNfA4U_bCVBihrs95US9Tf5PGAWh3qvrBN4DRbK5c.tar.br",
}

import pf.Task exposing [Task]
import pf.Utc
import pf.Stdout
import pf.Http exposing [Request, Response]

main : Request -> Task Response []
main = \req ->
    # FIXME: this does not print anything
    date = Utc.now! |> Utc.toIso8601Str
    Stdout.line! "$(date) $(Http.methodToStr req.method) $(req.url)"

    Task.ok { status: 200, headers: [], body }

serviceUrl = \host, port ->
    when host is
        Nixbox -> Url.fromStr "http://<IP_ADDRESS>:$(Num.toStr port)"
        Nixtower -> Url.fromStr "http://<IP_ADDRESS>:$(Num.toStr port)"

example1 =
    Stdout.line! "http://<IP_ADDRESS>:$(Num.toStr port)"
    Stdout.test "http://<IP_ADDRESS>:$(Num.toStr port)"

example2 =
    test "http://<IP_ADDRESS>:$(Num.toStr port)"

When I go to the latest commit (a662513450e163dc2056603b1f426b4787aac0fd) and copy in the latest queries and build the grammar, I get this:

@faldor20 it seems as if highlighting is correct within the strings for the URL's, but the platform keyword in the app declaration is preventing the "basic-webserver" download URL from being highlighted properly, as was the case before.

Thanks for checking that @smores56 , I'll take a look this evening when I'm back at my computer.

I took a look, looks like it just wasn't given a highlight. Now it's set to be a string. should be all solved :)


[Application] : Empowering Communities Through Environmental Sensing: A Beacon of Preparedness Amid Unpredictable Waters

Contact Details
Samuel
Past Projects
http://sadranyi.me/undp-global-coviddetectprotect-challenge-grand-prize-winner/
Which disaster risk or issue are you addressing?
In the heart of Ghana, a mission is brewing—one that intertwines technology, environment, and community welfare. The recent unfortunate events surrounding the dam spillages have not just unfolded a tale of displacement and despair but have also highlighted an urgent call to action. Thousands found themselves at the mercy of unforeseen waters, their lives upturned due to a gap in early warning and sensitization. As the waters continue to challenge the resilience of our communities, the need for an adaptive response is clearer than ever.
Our initiative — a comprehensive Environmental Sensing and Monitoring project— stands at the cusp of this adaptive response. By meticulously tracking and reporting environmental data, we are nurturing a fountain of knowledge vital for research, planning, and proactive hazard mitigation. The echoes of the recent dam spillages are a stark reminder of the potential devastation that can unfold in the blink of an eye. The stories of displacement reverberate through the links below, painting a picture of urgency and the necessity for proactive measures.
Unfolding Crisis: The Blame Game Amid Dam Spillage
Over 4,000 Residents Seek Refuge: A Tale of A Spilling Dam
A Ray of Hope: Over 8,000 Rescued Amid Akosombo Dam Spillage
Our vision is not just to create a ripple of change but a wave of preparedness that resonates through every household in Accra. By monitoring lake levels and integrating this crucial data into a citizen's information system, we aim to foster a culture of early detection and warning. This is not just about averting hazards but about empowering each citizen with the knowledge to act, to prepare, and to stay safe.
As we steer through the currents of this environmental challenge, our project is more than a beacon of hope; it's a testament to Accra's resilience and innovation. It's about fostering a future where nature's unpredictability is met with our community's foresight and preparation. Together, let's embrace this initiative and navigate towards a horizon of safety, awareness, and proactive action.
Disaster
Floods
Where are you from?
Africa / West Africa
Readiness Level of a Project
TRL 2 - Technology Concept Formulated
Storytelling

[X] I agree to follow this project's will to share my project evolution with documentation and short interviews during the project's deployment

Hello,
Thank you for sharing your impressive proposal! After careful consideration, we've decided to proceed further.
However, the Mission Pack may not suit your needs. Therefore, we've updated the collaboration terms. Please provide detailed information on the parameters you need to monitor, such as soil moisture or temperature. We'll provide an appropriate product package based on your requirements.
We have also added a few additional requirements and you may choose whether to agree to the following terms and conditions.
Project Showcase

One (1) Hackster Post or Github Post
A video demonstrating a working demo
Two to three (2-3) images documenting the setup and operation

Guarantee fee
Due to customs and postage issues, we have to add a guarantee fee and shipping cost.

Guarantee fee : To protect against potential equipment damage, we require a deposit fee that will vary based on the equipment needed. This deposit is fully refundable upon the return of the product.
Shipping Costs: You will be responsible for covering the international shipping costs.

Welcome your reply, we look forward to collaborating with you on this project.
Feel free to ping me by replying here or on Linkedin.

Hello Seeed-Studio/Hazard-Response-Mission-Pack
I would like to express my gratitude for the opportunity. Sincere apologies
for the late response.
I am ready to proceed to the next step.
On Wed, 27 Dec 2023 at 09:45, vongomben @.***> wrote:

Hello,
Thank you for sharing your impressive proposal! After careful
consideration, we've decided to proceed further.
However, the Mission Pack may not suit your needs. Therefore, we've
updated the collaboration terms. Please provide detailed information on the
parameters you need to monitor, such as soil moisture or temperature. We'll
provide an appropriate product package based on your requirements.
We have also added a few additional requirements and you may choose
whether to agree to the following terms and conditions.
Project Showcase

One (1) Hackster Post or Github Post
A video demonstrating a working demo
Two to three (2-3) images documenting the setup and operation

Guarantee fee
Due to customs and postage issues, we have to add a guarantee fee and
shipping cost.

Guarantee fee : To protect against potential equipment damage, we
require a deposit fee that will vary based on the equipment needed. This
deposit is fully refundable upon the return of the product.
Shipping Costs: You will be responsible for covering the
international shipping costs.

Welcome your reply, we look forward to collaborating with you on this
project.
Feel free to ping me by replying here or on Linkedin
https://www.linkedin.com/in/davidegomba/.
—
Reply to this email directly, view it on GitHub
https://github.com/Seeed-Studio/Hazard-Response-Mission-Pack/issues/7#issuecomment-1870129930,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEJ3XAMU3L6JOYT543Y7U3YLPU2FAVCNFSM6AAAAAA6GKMLCOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZQGEZDSOJTGA
.
You are receiving this because you authored the thread.Message ID:
@.***>

Hello Seeed-Studio/Hazard-Response-Mission-Pack team, I hope this email
finds you well.
Following up on this.
regards
On Tue, 23 Jan 2024 at 15:09, Samuel Adranyi @.***> wrote:

Hello Seeed-Studio/Hazard-Response-Mission-Pack
I would like to express my gratitude for the opportunity. Sincere
apologies for the late response.
I am ready to proceed to the next step.
On Wed, 27 Dec 2023 at 09:45, vongomben @.***> wrote:

Hello,
Thank you for sharing your impressive proposal! After careful
consideration, we've decided to proceed further.
However, the Mission Pack may not suit your needs. Therefore, we've
updated the collaboration terms. Please provide detailed information on the
parameters you need to monitor, such as soil moisture or temperature. We'll
provide an appropriate product package based on your requirements.
We have also added a few additional requirements and you may choose
whether to agree to the following terms and conditions.
Project Showcase

One (1) Hackster Post or Github Post
A video demonstrating a working demo
Two to three (2-3) images documenting the setup and operation

Guarantee fee
Due to customs and postage issues, we have to add a guarantee fee and
shipping cost.

Guarantee fee : To protect against potential equipment damage, we
require a deposit fee that will vary based on the equipment needed. This
deposit is fully refundable upon the return of the product.
Shipping Costs: You will be responsible for covering the
international shipping costs.

Welcome your reply, we look forward to collaborating with you on this
project.
Feel free to ping me by replying here or on Linkedin
https://www.linkedin.com/in/davidegomba/.
—
Reply to this email directly, view it on GitHub
https://github.com/Seeed-Studio/Hazard-Response-Mission-Pack/issues/7#issuecomment-1870129930,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAEJ3XAMU3L6JOYT543Y7U3YLPU2FAVCNFSM6AAAAAA6GKMLCOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNZQGEZDSOJTGA
.
You are receiving this because you authored the thread.Message ID:
@.***
com>


add yaml validation

As a SREP engineer I want to know that the CRDs for a project are valid yaml before deploying. A CRD with bad yaml will break a deploy and also one OLM bundle revision meaning that you cannot "roll forward" by just fixing them yaml and deploying again.
https://jira.coreos.com/browse/SREP-2101

/lgtm

/approve


FilteredModel accept/matches dodgy code

Via findbugs: org.eclipse.rdf4j.model.impl.FilteredModel:
line 215, accept() always returns true in a complicated check
private boolean accept(Resource s, IRI p, Value o, Resource... c) {
   ...
   return (s == null || s instanceof Resource) && (p == null || p instanceof IRI);
}

line 233, similar issue in matches()
private boolean matches(Resource stContext, Resource... contexts) {
   ...
   return stContext == null || stContext instanceof Resource;

Fwiw happy to consider this kind of thing a bug, rather than an enhancement. That gives us the option to just fix it on master and get it out with next patch release.


Fix social card image.

Fixes #1208.

That's on purpose.

BTW: I didn't see any review comment.

BTW: I didn't see any review comment.

Thanks for bringing this up - I've added it back. Probably best to wait in the future if the MR is in the changes requested state instead of merging then.


MVKCmdClearColorImage: Clear linear images on Mac with a shader.

Linear textures on Mac family GPUs aren't renderable, so we cannot use
a Clear/Store MTLRenderPass to clear them. Instead, use a compute
shader to clear them.
I haven't expanded this to all color images, because the
MTLTextureUsageShaderWrite usage disables lossless compression on
Apple GPUs, but RenderTarget usage does not. Also, multisample
textures do not yet support writing.

Thanks for considering impact on lossless compression textures.

I know it's important to Valve, since I remember Dan Ginsburg isn't happy about the need to set PixelFormatView usage in a lot of cases. Also, it's going to become important even on Mac going forward as the Apple Silicon transition moves forward.

I know it's important to Valve, since I remember Dan Ginsburg isn't happy about the need to set PixelFormatView usage in a lot of cases

Indeed. I'm going to start to address PixelFormatView and implement VK_KHR_image_format_list later this week.


Jquery sizzle weird silent bug.

See http://stackoverflow.com/questions/21661113/jquery-error-during-load-failed-to-execute-query-x-is-not-a-valid-selecto for details.
cc @xavijam

@CartoDB/frontend, we have discovered this problem after diving into a TrackJS notification. It is a bit WTF because the error itself is not being caught.

Basically, we have two options:

Remove jquery (ponte ahora con eso :joy:).
Don't make use of :eq(x), :first-child, ... typical CSS selectors with jQuery.


unable to traverse links in SQL conditions when indexes are used.

I have a couple of classes, one which references the other and an index on the LINK, as follows...
<< create class myClass1
<< create property myClass1.name STRING

<< create class myClass2
<< create property myClass2.ref LINK myClass1

<< create index myClass2.ref

I then create a couple of objects which reference each other as in ..
<< insert into myClass1 set name='myName1'

<< insert into myClass2 set ref = (select from myClass1 where name = 'myName1')

All is good when I do queries which use the RID of class1 in the condition eg..
<<  select from myClass2 where ref = #10:1
>> 1 result found

However if I try to use where conditions that traverse the link, I get no results eg
<<  select from myClass2 where ref.name = 'myName1'
>>  0 results found

If I drop the the index however, the above query works as expected.
<< drop index myClass2.ref
<< select from myClass 2 where ref.name = 'myName1'
>> 1 result found

Tried with 2.1-rc4 and works.


React-Native link does not work because package name does not correspond with gradle import

dependencies {
    compile project(':react-native-sound')
    compile fileTree(dir: "libs", include: ["*.jar"])
    compile "com.android.support:appcompat-v7:23.0.1"
    compile "com.facebook.react:react-native:+"  // From node_modules
}

sould contain
    compile project(':RNSound')

Mildly annoying as all the other ones I use get this right.

PR #105 addresses this issue

react-native link react-native-sound works. I've updated the manual install steps to perform the same changes the link command does.

React-native link react-native-sound only links my IOS, it doesn't link my android
/projects/hcdd$:react-native link react-native-sound
Scanning folders for symlinks in /projects/hcdd/node_modules (11ms)
rnpm-install info iOS module react-native-sound is already linked

so wen i run react-native run-android i get an error. How can i fix this? But IOS works fine

@paapii3d what version of RNS are you running? I released 0.10.9 that should not have this issue.


last read marker for quran

resolves #112

:tada: This PR is included in version 1.6.0-beta.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


MIDI keyboard's poblem

Hi Chris,
I'm using the latest version of Chrome with the MIDI flag enabled.
I can connect your sinth with my MIDI controllers, so i can see my keyboard in the MIDI_IN list.
When I try to play with your virtual piano I can hear the sound but, if I try to play with my keyboard it doesn't sound.
Have you got any idea to risolve this problem?
Thanks!
Mattia.

Please try again; I just reworked the logic.


[AVM Question/Feedback]: Connect AI HUB with multiple ai services?

Check for previous/existing GitHub issues

[X] I have checked for previous/existing GitHub issues

Description
I am able to create or connect ai service backend to a created hub or project. How can I add multiple ai services to a single hub or project? Is it possible with the current version?

If you need to connect to cognitive services other than AI Services, you will need to handle it outside of the module, e.g. use the relevant details from the other cognitive services account object and the output of this module to create a service connection as is done on line 122 of main.tf conditionally for AI Services.
A feature request issue would need to be created if there was a need to create one or more service connections as a part of this module for cognitive services created outside the module.


feat(qrm): support memory enhancement numa_exclusive

What type of PR is this?
Enhancements

What this PR does / why we need it:

cpu/memory plugin support memory enhancement numa_exclusive key/value

Which issue(s) this PR fixes:
resolve #18

please have a look at the comments about qos and function placement, for the other two comments, will take time to refine qrm implementation and qos documentations since they become a little difficult to maintain


CPU +100% and disk 99% full: need to migrate?

Hi all,
My raspiblitz on a pi4 4G with the recommended hardware online since 2020 is running at +100% CPU and using 99% of the 1T ssd disk space. What shall I do? Is this normal? Do I need to migrate?

If you disk is full you need to change to new hardware - 2 TB SSD recommended, also RaspberryPi 5. BUT with a disc 99% full this seems to be quite a difficult task, because first you would need to free space so that node can create migration file and so on and so on .... I would recommend the follwoing:
Wait until RaspiBlitz v1.12.0 (around end of 2024) and then get the latest recommended hardware. RaspiBlitz v1.12.0 will introduce improved migration features so that maybe you can just connect your old SSD to the new RaspberryPi5 and let it run, etc ... but that is still in the works.

Thanks a lot for the reply and recommendation. I spend most of the year very far away from the hardware my node is running on and for this reason I would like it to be more resilient. I am therefore planning to move to a VM in Proxmox. What do you recommend I do in this case? Can I just close channels, move funds on-chain and send them all out (empty my current Raspiblitz node) and start a new one in a Proxmox VM? Any major problem with this route?

Starting fresh is always a good start .. I hope we can provide some good migration options to move from RaspberryPi to Proxmox with RaspiBlitz with future RaspiBlitz v1.12.0.


AppUIBasics AutoSuggestBox/TextBox/RichEditBox samples Search Steals focus typing 'e'

When in textboxs on these examples the 'e' hotkey to jump to search should be disabled, it hurts the examples when typing suddenly causes the text cursor to jump to search and start typing there instead of the example's input control.

Duplicate issue #656.


feature(RocketMQ Client Wrapper): add rocketmq client wrapper

What is the purpose of the change
add rocketmq client wrapper
Brief changelog
add rocketmq client wrapper
Verifying this change
add rocketmq client wrapper
Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when a cross-module dependency exists.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

@universefeeler good job, IMHO, we indeed need a python wrapper for current low-level API


Remove pod stuff. Fix AirMaps.xcodeproj related to missing pod stuff

Fix #620
My GoogleMaps PR added some unnecessary Podfile stuff to the ios/ dir. This removes it to avoid errors related to that stuff.
@lelandrichardson @spikebrehm @felipecsl

@spikebrehm i think this is ready

@gilbox where did you land in terms of creating a separate xcodeproj with the Google maps classes?

@spikebrehm more complicated than we thought


Improve coverage of kallax package

Codecov Report

Merging #88 into master will increase coverage by 2.84%.

@@            Coverage Diff             @@
##           master      #88      +/-   ##
==========================================
+ Coverage    77.8%   80.65%   +2.84%
==========================================
  Files          15       15
  Lines        2244     2243       -1
==========================================
+ Hits         1746     1809      +63
+ Misses        332      295      -37
+ Partials      166      139      -27

Impacted Files
Coverage Δ

store.go
94.77% <ø> (+22.79%)
:white_check_mark:

events.go
100% <100%> (+42.1%)
:white_check_mark:

query.go
99.27% <100%> (+7.24%)
:white_check_mark:

resultset.go
79.66% <100%> (+3.38%)
:white_check_mark:

model.go
100% <ø> (+14.54%)
:white_check_mark:

Continue to review full report at Codecov.

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


Can't use stream with Spring Boot 3 RC2.

Souce:
org.hibernate.query.Query query = session.createNativeQuery(sql, Record.class);
......
Stream stream = query.setReadOnly(true).setFetchSize(1000).setCacheable(false).stream();
.......
stream.forEach(rec -> {
.......
});
Exception:
Caused by: java.sql.SQLException: Cannot operate on a closed ResultSet
at com.clickhouse.jdbc.SqlExceptionUtils.clientError(SqlExceptionUtils.java:73)
at com.clickhouse.jdbc.AbstractResultSet.ensureOpen(AbstractResultSet.java:24)
at com.clickhouse.jdbc.ClickHouseResultSet.next(ClickHouseResultSet.java:708)
at com.zaxxer.hikari.pool.HikariProxyResultSet.next(HikariProxyResultSet.java)
at org.hibernate.sql.results.jdbc.internal.JdbcValuesResultSetImpl.lambda$processNext$0(JdbcValuesResultSetImpl.java:89)
... 89 common frames omitted

Thanks for the report @dpswds. Judging from the error, it looks like the ResultSet or the Statement it belongs to was closed somehow. Could you share a repo to reproduce the issue?

this is not a clickhouse jdbc bug.
close.


aarch64: add functions to set/clear PAN

add functions to set or clear the PAN bit in PSTATE.
This won't be needed until a proper copy_{to,from}_user is added.

I'm not sure if MSR PAN, #1 with immediate value really works, but this is in the ARM manual.

This will be reworked in another PR, where the PAN functions are wrapped with target_feature conditions.


Limit issue: Order by items must be in the select list if distinct is specified

Looks like the current approach to adding a limit to queries doesn't work if the user adds distinct to their model, example
with

source as (

    select * from "raw_emails"
),

renamed as (

    select

        id as email_id,
        email,
        email_top_level_domain

    from source

)

select distinct * from renamed order by (select null)
            offset 0 rows fetch first 1 rows only

Error:
('42000', '[42000] [Microsoft][ODBC Driver 18 for SQL Server][SQL Server]ORDER BY items must appear in the select list if SELECT DISTINCT is specified. (145) (SQLExecDirectW)')
We might be able to get around this by wrapping in a subquery

Now that Fabric DW supports, nested CTE, I am reverting get_limit_sql to use TOP and wrapping up user SQL statement in an CTE.
Users still can't use order by within a CTE and subqueries anyway.


Release Image to Stop Memory Leak

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.6 out of 9 committers have signed the CLA.:white_check_mark: radszy:white_check_mark: kpet:white_check_mark: Leporacanthicus:white_check_mark: StuartDBrady:white_check_mark: JohnKesapidesARM:white_check_mark: james-morrissey-arm:x: jgouly:x: alenav01:x: cm16161-ArmYou have signed the CLA already but the status is still pending? Let us recheck it.


Investigate technical feasability of a search page

What
Investigate the technical feasibility of a separate site search as opposed to the current search powered by the accessible autocomplete with a fallback of a link to the site map.
Timebox: 3 days
Why
This follows an initial workshop as part of https://github.com/alphagov/govuk-design-system/issues/4195 where several ideas pointed to a separate search page as a way to make the issue easier to solve. Given that the GOV.UK Design System website is a static site, we'd need to be able to create a static search page, which may not be possible. We generate a json file on build which is used by the site search but we need to access it and generate a whole view.
Another option to consider is the tech docs gem, which has a separate search page which is generated by js. See frontend docs for an example.
Who needs to work on this
Developer
Who needs to review this
Website accessibility squad
Done when

[ ] We've either discovered if this is possible or not OR we've exhausted the timebox
[ ] We've documented our findings

My imagining is that the standalone search page would still be a JavaScript enhancement in this context, still falling back to the sitemap in the event that JS is unavailable.
I suppose the major point of failure in that situation is in the user performing a search (e.g.) from the homepage, being directed to the standalone page, where whatever JS renders the results fails to load or initialise properly.

Update
Firstly, @querkmachine it took me ages to clock that because we have a static site, we would need to generate search data on load which is obviously impossible without a backend app to serve a page 🤦🏻 Therefore this can only ever be a js enhancement either as a separate search 'view' or an extended version of the header site search, which inherantly makes it an enhancement and potentially more taxing to build.
Secondly, the squad has started to lean away from this option for a couple of reasons:

Users could potentially rely on the search results only and we want them to use the guidance pages
A separate search view or larger search section could mean users might have more feature expectations from us i.e filter
Generally the user need for a bigger search is unclear besides us getting more space to build search results

@hazalarpalikli is going to talk to folks who recently worked on GOV.UK's search and report her findings

This is for future reference, in case we revisit the idea of a separate search bar. I spoke with Nikin, Monica and Mia regarding the separate search, and here are the key findings:

GOV.UK initially decided to hide the global search function because the user experience wasn’t optimal. The goal was to prevent users from using it until improvements could be made.
As part of Nikin and Christine's work, they explored the idea of having a separate search page. However, they ultimately didn't find a clear user need to justify implementing it.
GOV.UK Homepage team is continuing to carry forward the decisions made when the global search page was hidden.


[SPARK-LLAP-140] Bump to v1.1.3-2.1-SNAPSHOT

What changes were proposed in this pull request?
This PR bumps the version to snapshot.
How was this patch tested?
Pass Travis CI.

cc @bikassaha , @merlintang , @jdere
I'll bump the version to SNAPSHOT in master/branch-2.1 because we released 1.1.2-2.1.


Unclear circular implementation relationship error being thrown

Hi, with this schema, I am getting an unclear The following types have a circular implementation relationship, which is not allowed: ["ConditionalExpression", "IfStatementOrTernary"] error, here's the schema
https://gist.github.com/u9g/ae86313869873dbae8751fd63b77607d
I took a look back later, and made the revisions shown in the top revision here: https://gist.github.com/u9g/bec1091f0c1a19e55eee011e77de5298/revisions and now the schema works?? Not sure what's happening but definitely somethings wrong because if it was truly circular that would be incorrect too.

I found a few schema error edge cases that weren't being properly checked, #322 has the fix.
In the process it found a variety of issues with the schema in the gist, including the implements of a non-interface and some missing fields that are required to correctly implement some of the declared interfaces.
Lmk if you get a chance to test the new version after #322 merges.


Resize footer logos 50% smaller

Fixed in https://github.com/macterra/artx-market/commit/eba4fa13a2257213ee917e7e0b3e3aa1c39b753a

tested


jobs: clarify that there is no restartPolicy for the job itself

From the commit message:
Sometimes, as it happened to me, a Pod's `restartPolicy`
is mistakenly taken as the corresponding Job's restart policy.

That was concluded before, here:
https://github.com/kubernetes/community/pull/583/files

The confusion happened here:
https://github.com/kubernetes/kubernetes/issues/30243
https://github.com/kubernetes/kubernetes/issues/43964

And here:
https://github.com/jaegertracing/jaeger-kubernetes/issues/32

This commit tries to clarify that there is no `restartPolicy` for
the job itself, and that using either of `backoffLimit` and
`activeDeadlineSeconds` may result in permanent failure.

Feedback welcome! This is my first (attempted) contribution to the Kubernetes docs. Let me know what you think, happy to iterate.

/check-cla

/assign @steveperry-53


using get_avatar()

your plugin use get_avatar_url() to get the avatars. This is not working with the all local avatar plugins I have tested. Is there a workaround for this issue? Is it possible to use get_avatar() in the amp template?

Hello there I am able to get the URL on my Machine , Can you please tell me the Plugins that you have tested with ?

Also let me know the version of WordPress you are using

I use Basic User Avatars: https://wordpress.org/plugins/basic-user-avatars/
and WordPress 4.7

Reviewd working fine,

There is one error. When you have a (displayed) username with an blank character there is no avatar displayed.
It is just possible when you use   in the username instead of spaces...


Bluetooth: Controller: Allow setting ISO TX/RX buffer count to 0

There is no need to allocate TX/RX buffers when the device is an receiver/transmitter only.

rebased to trigger stuck CI job

@yuxCai @cvinayak is the "Controller" prefix actually correct, since this is not modifying a controller-specific file. Are these options used elsewhere? If not, then they should probably be moved into subsys/bluetooth/controller/.

@yuxCai @cvinayak is the "Controller" prefix actually correct, since this is not modifying a controller-specific file. Are these options used elsewhere? If not, then they should probably be moved into subsys/bluetooth/controller/.

These options are also used by the host. See https://github.com/zephyrproject-rtos/zephyr/pull/69382#pullrequestreview-1898235364


ES6

Is planned does rewriting as ES6 module?

Not for the time being, no. An ES6 wrapper would be an option.


Sending plaintext response for non-TLS connection attempts

This is my current attempt among others. Both print statements print. I have had intermittent success... its just not stable. Whats the correct way to approach this within the lib itself?

pub struct TlsListener(
    Vec<CertificateDer<'static>>,
    PrivateKeyDer<'static>,
    TlsAcceptor,
    TcpListener,
);

impl TlsListener {
    pub async fn bind(address: SocketAddr) -> Self {
        let listener = TcpListener::bind(address).await.unwrap();

        let certs = Path::new(CERTS_PATH);
        let cert = load_certs(&certs).unwrap();

        let key = Path::new(KEY_PATH);
        let key = load_keys(&key).unwrap();

        let config = rustls::ServerConfig::builder()
            .with_no_client_auth()
            .with_single_cert(cert.clone(), key.clone_key())
            .map_err(|err| io::Error::new(io::ErrorKind::InvalidInput, err))
            .unwrap();
        let acceptor = TlsAcceptor::from(Arc::new(config));

        TlsListener(cert, key, acceptor, listener)
    }

    pub async fn redirect(&self) -> io::Result<()> {
        println!("Redirecting");
        let (mut stream, _peer_addr) = self.3.accept().await?;
        let redirect =
            b"HTTP/1.1 301 Moved Permanently\r\nLocation: https://localhost:4010/\r\n\r\n";
        stream.write(redirect).await?;
        stream.flush().await?;
        println!("Redirected");
        Ok(())
    }

    pub async fn accept(&self) -> io::Result<(TlsStream<TcpStream>, SocketAddr)> {
        let listener = &self.3;
        let (stream, peer_addr) = listener.accept().await?;

        match self.2.accept(stream).await {
            Ok(stream) => Ok((stream, peer_addr)),
            Err(error) => {
                self.redirect().await?;
                Err(error)
            }
        }
    }
}

this is ~(the response) in Firefox

So you want to achieve that plaintext (HTTP) clients connecting to your TLS server socket get a HTTP redirect? I don't think tokio-rustls will facilitate that use case, because it will ~always send a TLS alert when it fails to parse the client's stream as TLS.
If you drop down directly to the rustls API you can probably make it work, but I'm not sure you can easily wrap a tokio-rustls connection around that after the fact. I suppose we could maybe support this use case in the LazyConfigAcceptor, optionally postponing the sending of the alert until the caller has okayed it?

Imo, this is just default behavior... that said this is my final solution
    pub async fn accept<F, Fut>(&self, fun: F) -> io::Result<()>
    where
        F: FnOnce(TlsStream<TcpStream>, SocketAddr) -> Fut,
        Fut: Future<Output = ()> + Send + 'static,
        F: Send + 'static,
    {
        let acceptor = self.2.clone();
        let (mut stream, peer_addr) = self.3.accept().await?;

        tokio::spawn(async move {
            let mut buf = [0; 1]; // Buffer to read the first byte
            match timeout(Duration::from_secs(10), stream.peek(&mut buf)).await {
                Ok(Ok(_)) => {}
                _ => {
                    let _ = Self::redirect(&mut stream).await;
                }
            }

            if buf[0] == 0x16 {
                // 0x16 is the first byte of a TLS handshake
                if let Ok(tls_stream) = acceptor.accept(stream).await {
                    fun(tls_stream, peer_addr).await;
                }
            } else {
                let _ = Self::redirect(&mut stream).await;
            }
        });

        Ok(())
    }

I suppose we could maybe support this use case in the LazyConfigAcceptor, optionally postponing the sending of the alert until the caller has okayed it? - here

Yeah, should be supported somewhere... as arg or something... something like .force_tls(bool)

Can you elaborate on how the peeking trick should work? For me, in both cases (connecting via HTTP & HTTPS), the timer does not run in a timeout, as the peek was successful.
Using the following:
tokio::spawn(async move {
    mut buf = [0u8; 1];
    tcp_stream.peek(&mut buf).await.unwrap();
    println!("peeked: {:?}", buf);
...

successfully peeks something with HTTP and HTTPS:
peeked: [22]             <-- HTTPS
peeked: [71]             <-- HTTP

@c92s I ended up doing this. The first byte is the type signature. 22 (peeked: [22] <-- HTTPS) or 0x16 == HTTPS. I also check the client hello byte. If not not both then 301. 'let _ = Self::redirect(&mut stream).await;'
    pub async fn accept<F, Fut>(&self, handle_client: F) -> io::Result<()>
    where
        F: FnOnce(TlsStream<TcpStream>, SocketAddr) -> Fut,
        Fut: Future<Output = ()> + Send + 'static,
        F: Send + 'static,
    {
        let (mut stream, peer_addr) = self.1.accept().await?;
        let acceptor = self.0.clone();

        tokio::spawn(async move {
            let mut buf = [0; 6]; // Buffer to read the first byte
            match timeout(Duration::from_secs(60), stream.peek(&mut buf)).await {
                Ok(Ok(_)) => {}
                _ => {
                    let _ = Self::redirect(&mut stream).await;
                }
            }

            // Check for the handshake message type (0x16) and the ClientHello byte (0x01)
            if buf[0] == 0x16 && buf[5] == 0x01 {
                crate::debug_with_time!({},"TLS connection from {peer_addr}",);
                if let Ok(tls_stream) = acceptor.accept(stream).await {
                    tokio::spawn(handle_client(tls_stream, peer_addr));
                }
            } else {
                let _ = Self::redirect(&mut stream).await;
            }
        });

        Ok(())
    }

@BrandonLeeDotDev thanks for the info!
FYI: we could further refine that, using the available rustls enums (rustls::ContentType::Handshake & rustls::HandshakeType::ClientHello), e.g.:
if buf[0] ==  rustls::ContentType::Handshake.get_u8() && buf[5] == rustls::HandshakeType::ClientHello.get_u8() {
    crate::debug_with_time!({},"TLS connection from {peer_addr}",);
    if let Ok(tls_stream) = acceptor.accept(stream).await {
        tokio::spawn(handle_client(tls_stream, peer_addr));
    }
} else {
    let _ = Self::redirect(&mut stream).await;
}

However, IMO this looks very "handcrafted", I am still not sure, if this is the proper way to handle such cases...


KUZBO-131 treeview refactor

Better Treeview component structure for testing.

[Current coverage][cc-pull] is 86.36% (diff: 85.00%)

Merging [#16][cc-pull] into [develop][cc-base-branch] will decrease coverage by 0.32%

@@            develop        #16   diff @@
==========================================
  Files            34         35     +1
  Lines           323        330     +7
  Methods           5          5
  Messages          0          0
  Branches         20         23     +3
==========================================
+ Hits            280        285     +5
- Misses           36         37     +1
- Partials          7          8     +1

Powered by Codecov. Last update [a630f03...0ee272b][cc-compare]
[cc-base-branch]: https://codecov.io/gh/kuzzleio/kuzzle-backoffice/branch/develop?src=pr
[cc-compare]: https://codecov.io/gh/kuzzleio/kuzzle-backoffice/compare/a630f035398843a1992be649adc72df69e8bab9a...0ee272b3b3c87ccff14bd6e66bafca5783816871?src=pr
[cc-pull]: https://codecov.io/gh/kuzzleio/kuzzle-backoffice/pull/16?src=pr

apart my feedback, it's ok to me

despite my feedback :+1:


[web][Safari][mobile] Virtual Keyboard shifts the page up after browser closes/reopens

Steps to reproduce:

Open a page with a TextField
start editing the text field
Minimize the browser (go to homescreen)
Reopen the browser.
Virtual keyboard is open shifts cursor above the text field.

/cc @matthew-carroll
We can use PR (https://github.com/flutter/flutter/pull/35100) to solve this issue. Are there any plans for re-merging it?
Thanks!


Turn off a particular bit in a number.

Detailed description
Let's have a number n and a value k, we need to turn off the k'th bit in n numbers.
Note: count starts from the rightmost bit in accordance with k. eg -> k=1 means the rightmost bit.
Input:  n = 15, k = 1
Output: 14
Input:  n = 14, k = 1
Output: 14
The rightmost bit was already off, so no change.
Context
By solving this problem, we can implement it in real life. As to find system failures due to some unavoidable resistor shutdowns or connection flaws.
Possible implementation
We can use bitwise operators like AND(&&) NOT(~) or Left Shift Operator(<<).
Using expression ~(1<<(k-1)), we get a number that has all bits set, except the k'th bit.
If we do bitwise & of this expression with n, we get a number that has all the bits the same as n except the k'th bit which is 0.
//below is the cpp implementation
#include <bits/stdc++.h>
using namespace std;
// Returns a number that has all bits same as n
// except the k'th bit which is made 0
int turnOffK(int n, int k)
{
// k must be greater than 0
if (k <= 0) return n;
// Do & of n with a number with all set bits except
// the k'th bit
return (n & ~(1 << (k - 1)));

}
// Driver program to test above function
int main()
{
int n = 15;
int k = 4;
cout << turnOffK(n, k);
return 0;
}
Additional information
No response

#2252 is the issue resolved by creating a bit manipulation question.

can you assign this issue to me

Can you assign this issue to me?

can you assign this to me?

can you assign this to me?


AVRO-2936: Optimize GenericData.addLogicalTypeConversion

Optimization to GenericData.addLogicalTypeConversion to about double map lookup.

Thanks for the contribution and clean-up!  I've cherry-picked this into branch-1.10.


Display flag and Add Readme

This PR has two independent commits.  One is to add readme.md, and the other is to show bit field i more meaningful way.  Hope you like it.

awesome readme!!


Regarding Engineering Applications

Thank you for sharing such an excellent work. Do you consider the engineering work of this algorithm? Which chip of Horizon can well support the application of this algorithm? Looking forward to your reply.

https://github.com/HorizonRobotics/Sparse4D/issues/17


Question About the function cdw_feature_distance?

Hi!
The work on this article is really great! I hope to learn something from FedReID.
But when read the code, the function cdw_feature_distance is confusing. Although I know Python can do it, why calculate the mean of distance in for loop.
https://github.com/cap-ntu/FedReID/blob/b63d990713eede5cbe254056713c755c664e1caa/optimization.py#L9-L25
Here's what I think
         distance_lst = []
         for data in self.train_loader:
             # do something
             distance = 1 - torch.cosine_similarity(old_out, new_out)
             distance_lst.append(torch.mean(distance))
         return torch.mean(distance_lst)

Your reply will be greatly appreciated.

Hi, Thank you for your interests in this! We return in the for loop is because we only randomly sample one batch data for the distance measuring instead of whole training dataset

Hi, Thank you for your interests in this! We return in the for loop is because we only randomly sample one batch data for the distance measuring instead of whole training dataset

Hi, Thank you for your interests in this! We return in the for loop is because we only randomly sample one batch data for the distance measuring instead of whole training dataset

Yes, i see it in this paper. But why do it?

Hi, Thank you for your interests in this! We return in the for loop is because we only randomly sample one batch data for the distance measuring instead of whole training dataset

Yes, i see it in this paper. But why do it?

Yah, speed is definitely the concern, and using one batch is good enough for measuring the cosine distance.

Yah, speed is definitely the concern, and using one batch is good enough for measuring the cosine distance.

Thanks to answer!

Thanks to answer!


Runtime Error: BF16 unsupported on supported hardware

I am using the default lora_finetune_single_device.py without any modifications, and 2B_qlora_single_device.yaml without modifications. Running with an RTX 4090.
Attempting to use tune run lora_finetune_single_device.py --config 2B_qlora_single_device.yaml results in:
RuntimeError: bf16 precision was requested but not available on this hardware. Please use fp32 precision instead.
The environment is set up with mamba, latest torch, with all requirements met:
torch==2.3.0
torchao==0.1
torchaudio==2.3.0
torchtune==0.1.1
torchvision==0.18.0

I tried running the following:
>>> torch.cuda.is_available()
True
torch.cuda.is_bf16_supported()
True

Also tested on nightly:
torch==2.4.0.dev20240428+cu121
torchtune==0.2.0.dev20240428+cu121

Thanks for filing this issue!
I'm surprised you're running into this issue for two reasons:

As you pointed out 4090s support bfloat16
We relaxed this check for non-CUDA devices in this PR

I just launched a QLoRA training on a 4090 using the nightly build and didn't run into this. Mind checking the following as well?
torch.distributed.is_nccl_available()
torch.cuda.nccl.version() >= (2, 10)

Thanks for filing this issue!
I'm surprised you're running into this issue for two reasons:

As you pointed out 4090s support bfloat16
We relaxed this check for non-CUDA devices in this PR

I just launched a QLoRA training on a 4090 using the nightly build and didn't run into this. Mind checking the following as well?
torch.distributed.is_nccl_available()
torch.cuda.nccl.version() >= (2, 10)

Ahh it seems that might be the issue, though I didn't know that was a requirement:
>>> torch.distributed.is_nccl_available()
False
>>> torch.cuda.nccl.version() >= (2, 10)
AttributeError: module 'torch._C' has no attribute '_nccl_version'

I had assumed I can launch this training on Windows, and I should've mentioned that is the OS I am using. Does this mean torchtune will not work on Windows?

@slobodaapl thanks for pointing this out. Right now I think we assume availability of NCCL in a couple places. @rohan-varma  may know best here: is it sufficient to just point to Gloo backend for Windows, or is there more we need to do there for proper support?

@ebsmothers Gloo library is currently unmaintained and there at one point was minimal support for Windows, but no one's on the hook for maintaining that at the moment in PyTorch core. @slobodaapl currently torchtune is not tested on windows OSes, we've only run comprehensive tests and verification on linux machines at the moment.

I am also having the
RuntimeError: bf16 precision was requested but not available on this hardware. Please use fp32 precision instead.
Problem.
Python Version: 3.11.9
PyTorch Version: 2.3.0+rocm6.0
BitsAndBytes Version: 0.43.2.dev
Torchtune Version: 0.1.1+cpu
GPU Info: 03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 31 [Radeon RX 7900 XT] (rev cc)
AMD Driver Version: OpenGL version string: 4.6 (Compatibility Profile) Mesa 24.0.8-arch1.1
OS Description:	Arch Linux
Kernel Version: 6.9.1-arch1-1

I'm seeing this error pop up a lot here https://discuss.pytorch.org/t/fine-tune-llms-using-torchtune/201804

I think this change is in the nightly not in the stable package. @Nihilentropy-117 can you try the instructions mentioned here: https://pytorch.org/torchtune/main/install.html. @msaroufim can you help point folks to this?
Couple of follow ups for us (cc: @ebsmothers)

Make the nightly clearer on the README and also highlight which features are not in 0.1.1
Package push - we're planning for in a couple of weeks.

Actually I responded to the thread. Thanks for sharing, @msaroufim! I haven't been keeping up with torchtune issues on pytorch discuss. Will do so moving forward.