PushNotifications stop working after installing this plugin

I am currently using ionic capacitor PushNotifications for Firebase cloud messaging. By the help of this I can get tokens.
Now I want to send notifications to all app users so I decided to use topics.
For this, I installed community/FCM plugin.
I also made suggested changes in the MainActivity.java file, no error during app build.
But after installation this FCM plugin, PushNotifications(token) stop working.
Even below code starts always retuning false.
if (isPushNotificationsAvailable) {
      this.initPushNotifications();
    }

Here is my MainActivity.java file:-
package io.ionic.starter;

import com.getcapacitor.community.fcm.FCMPlugin;

import android.os.Bundle;

import com.getcapacitor.BridgeActivity;

import com.getcapacitor.Plugin;

import java.util.ArrayList;

public class MainActivity extends BridgeActivity {

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Initializes the Bridge
    this.init(savedInstanceState, new ArrayList<Class<? extends Plugin>>() {{
      // Additional plugins you've installed go here
      // Ex: add(TotallyAwesomePlugin.class);
      add(FCMPlugin.class);
    }});
  }
}

Here my fcm.service.ts File:-
import { Component, Injectable } from '@angular/core';
import { Capacitor } from '@capacitor/core';
import { Router } from '@angular/router';
import { Storage } from '@ionic/storage';
import {
  ActionPerformed,
  PushNotificationSchema,
  PushNotifications,
  Token
} from '@capacitor/push-notifications';
// import { FCM } from '@capacitor-community/fcm';

const isPushNotificationsAvailable = Capacitor.isPluginAvailable('PushNotifications');

@Injectable({
  providedIn: 'root'
})

export class FcmService {

  public topicName = 'project';

  constructor(
    private router: Router,
    private storage: Storage
  ) { }

  initPush() {
    //This Plugin is not available on web

    if (isPushNotificationsAvailable) {
      this.initPushNotifications();
    }
  }
  // Request permission to use push notifications
  // iOS will prompt user and return if they granted permission or not
  // Android will just grant without prompting
  private initPushNotifications() {

    //console.log('Initializing HomePage');

    PushNotifications.requestPermissions().then(result => {
      if (result.receive === 'granted') {
        // Register with Apple / Google to receive push via APNS/FCM
        PushNotifications.register();
      } else {
        // Show some error
      }
    });

    PushNotifications.addListener('registration', (token: Token) => {
      alert('Push registration success, token: ' + token.value);
      //Store Devive Token in session variable
      this.storage.set("device_token", token.value);
      // FCM.getToken()
      //   .then((r) => alert(`Token ${r.token}`))
      //   .catch((err) => console.log(err));
      // now you can subscribe to a specific topic
      // FCM.subscribeTo({ topic: this.topicName })
      //   .then((r) => alert(`subscribed to topic`))
      //   .catch((err) => console.log(err));
    });

    PushNotifications.addListener('registrationError', (error: any) => {
      //alert('Error on registration: ' + JSON.stringify(error));
    });

    PushNotifications.addListener(
      'pushNotificationReceived',
      (notification: PushNotificationSchema) => {
        //alert('Push received: ' + JSON.stringify(notification));
      },
    );

    PushNotifications.addListener(
      'pushNotificationActionPerformed',
      (notification: ActionPerformed) => {
        // alert('Push action performed: ' + JSON.stringify(notification));
        const data = notification.notification.data;
        //console.log('Action performed: ' + JSON.stringify(notification.notification));
        if (data.detailsId) {
          this.router.navigate(['/bid-project', data.detailsId]);
        }
      },
    );
  }
  //Reset all Badge count
  // resetBadgeCount() {
  //   PushNotifications.removeAllDeliveredNotifications();
  // }
  // move to fcm demo
  // subscribeTo() {
  //   PushNotifications.register()
  //     .then((_) => {
  //       FCM.subscribeTo({ topic: this.topicName })
  //         .then((r) => alert(`subscribed to topic ${this.topicName}`))
  //         .catch((err) => console.log(err));
  //     })
  //     .catch((err) => alert(JSON.stringify(err)));
  // }

  // unsubscribeFrom() {
  //   FCM.unsubscribeFrom({ topic: this.topicName })
  //     .then((r) => alert(`unsubscribed from topic ${this.topicName}`))
  //     .catch((err) => console.log(err));

  // }
}

After removing community plugin token generation started working as before.
Please tell me what wrong is with my code.

hello there. it's impossible to know without a reproducible example, where we can download and try.
can you please try on both latest capacitor + plugin?

We're experiencing the same issue. I can't easily give you a reproducible example at the moment as we're heads down working on an alternative... which is frustrating, but necessary.
This seems to only be affecting Android.
I've replicated this by:

Create new Ionic app
Add PushNotifications plugin (as described in the docs).
Test -- push notifications work as expected.
Now, add the FCM plugin, following your directions in the docs.
Use the same MainActivity.java code as above.
Test -- launch the app, have it attempt to register and before getting anywhere, other Capacitor plugins generate Console Errors. E.g. "SplashScreen" plugin is not implemented on android. "PushNotifications" plugin is not implemented.

What I suspect, is that since Capacitor 3 has automatically started loading plugins, the old way (modifying MainActivity.java) is broken. This seems to also still be using InstanceID, which should(?) be fixed for any reasonably modern implementation to work. (Correct me if I'm wrong there... but I believe there's an open issue for that as well.)

Cap 3 doesn't require registering plugins on MainActivity anymore, so you can remove any reference there. (Take a look in the example app on this repo)
Also there's an issue with the push-notifications package.

@stewones - appreciate the input, work, and expedient response very much... this will work for us for now, I suppose we'll track it until it is merged in... hopefully they can handle that sooner than later!

should be fixed on latest plugin version v2.0.2


new Address by private key

Can we create a new address based on public key or private key? so each new member balance is sum in main address ?

With the private key, you can obtain the address.
However, on the BSC Bep20 blockchain, each address is an individual account. You cannot sum the balances of each one in the main address, but instead, you must send each of the transactions you receive in each of the wallets to the main address.
It doesn't work like bitcoin, which allows grouped transfers.
There is a method to do it through a contract, but this is beyond the scope of this repository.


[Question] Logging for clickhouse,rabbitmq don't find usage in document

Question
Logging for clickhouse,rabbitmq don't find usage in document

can you add this?

I can , but I don't know how to contribute doc for shenyu website

@moremind can you review doc in shenyu website


Merge pull request #1 from apache/master

Merge pull request

Nothing changed.

Codecov Report

Merging #2714 into master will decrease coverage by 1.17%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #2714      +/-   ##
==========================================
- Coverage    63.5%   62.33%   -1.18%
==========================================
  Files         580      602      +22
  Lines       25985    27980    +1995
  Branches     4544     4832     +288
==========================================
+ Hits        16503    17440     +937
- Misses       7314     8263     +949
- Partials     2168     2277     +109

Impacted Files
Coverage Δ

...ubbo/rpc/protocol/dubbo/ChannelWrappedInvoker.java
41.66% <0%> (-8.34%)
:arrow_down:

.../dubbo/remoting/transport/netty4/NettyChannel.java
61.17% <0%> (-4.71%)
:arrow_down:

...rpc/protocol/dubbo/telnet/InvokeTelnetHandler.java
54.21% <0%> (-3.62%)
:arrow_down:

.../rpc/protocol/dubbo/LazyConnectExchangeClient.java
55.95% <0%> (-2.39%)
:arrow_down:

...e/dubbo/remoting/transport/netty/NettyChannel.java
61.17% <0%> (-1.18%)
:arrow_down:

...apache/dubbo/rpc/protocol/dubbo/DubboProtocol.java
66.66% <0%> (-0.84%)
:arrow_down:

.../apache/dubbo/remoting/transport/AbstractPeer.java
63.04% <0%> (ø)
:arrow_up:

...bbo/rpc/protocol/thrift/io/InputStreamWrapper.java
0% <0%> (ø)

...o/rpc/protocol/thrift/DubboClassNameGenerator.java
100% <0%> (ø)

.../java/org/apache/dubbo/common/json/JSONWriter.java
63.15% <0%> (ø)

... and 23 more

Continue to review full report at Codecov.

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


Suggested Parameter List gets hidden right away : Issue in chrome :

After Selecting Available search parameter suggested Values dropdown gets hidden right away in chrome.
In firefox works fine.
Please help me with this.

It seems that I fixed by increasing the $timeout when enterEditMode addSearchParam from 100 to 200
 $timeout(function() { $scope.enterEditMode(undefined, newIndex); }, 200);

Please try it to see if works for you too


ROGER-1109:Remove bamboo installs and configs from the masters

Test:
1 - Verified that the tasks execute only when we provide "yes" for for the confirmations else skips.
2 - Verified by executing "diff" and "check".
Also moved the "Add cluster peers" from bamboo/tasks to common/tasks.

LGTM


Add declaration for performance global. Fixes #2345

this looks good to me but the fetch test needs to be re-recorded


Replace foreach with a while loop in cache expiry

Purpose

Fixes https://github.com/ballerina-platform/ballerina-lang/issues/12689
Fixes https://github.com/ballerina-platform/ballerina-lang/issues/12687

Approach

Replacing foreach with a while loop doesn’t directly affect to the OOM. But that avoids the concurrent modification exceptions occurs during the iterations.
Due to that exception, the clean up task crashes. So that exception has led to an OOM situation. Therefore the fix is applied to avoid the exception mentioned in the issue

Load test result

Concurrency - 100
Payload - 50B
Scenario - Passthrough service uses HTTP caching client to call  an echo back end (Find the service bal in here)

@pubudu91 The root cause is the ConcurrentModificationException occurs when using the iterator in enhance for loop in runCacheExpiry() method. This exception leads to crash the cacheCleanup task which eventually runs to an OOM situation.


prevent indexing nil vals in ensure_correct_config

setting a mark non-consecutively may result in ensure_correct_config trying to access nil values. set_current_at does fix the empty slots eventually, but before it does so, it calls get_length which calls ensure_correct_config.
It happens only sometimes due to how lua does memory allocation for arrays. Getting the length with # may or may not return the last index, depending on where the previous values are located.

Other:
some changes to log orders

Other than that, perfect!

I reverted the change to get_length's logs for now, I believe that maintaining the log order is more important than having that length there.

We really need to add unit tests for marks. Within the next couple weeks I'll try to take care of that.


Install Aer stable at CI

Summary
Install Aer stable instead of building Aer at CI
Details and comments

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 92.065%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
4339

Relevant Lines:
4713

💛  - Coveralls


Multiple triggering inputs

HI
What is the intended principle of trigger with multiple inputs?
Should it track all channels and do some logical combination on
of each channel trigger_shot like AND/OR/XOR/NOT to make combinatorial trigger_shot
or should it do some channel math on sample values like CH1+CH2-CH3*CH4... and then
trigger or a user-defined function of everything mentioned :)?
Currently my GUI remembers trigger settings (level,edge) for
each channel and if I switch channel, also the trigger switches
to setting for appropriate channel.

I came out with multiple trigger while I was thinking Fourier analysis. I don't have a clear idea. One solution is to save the values of the register trigger and  restore them without thinking what is inside of it as you are doing now.

then I can simplify GUI code when
now scopeio internal registers remember the
trigger settings for currently selected channel.
This simplification is however small because GUI
must still internally remember all trigger settings,
but now it doesn't need to re-send them after channel
change.
I was thinking as we have enough channels, it is
best that user in toplevel module creates user-defined
math function which combines sample values from
many real channel and creates a math channel, example
power channel current*voltage, or difference channel
voltage1-voltage2
such function will generate a synthetic channel which
can be triggered as any other real channel
On 7/18/19, Miguel Angel<EMAIL_ADDRESS>wrote:

I came out with multiple trigger while I was thinking Fourier analysis. I
don't have a clear idea. One solution is to save the values of the register
trigger and  restore them without thinking what is inside of it as you are
doing now.
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/hdl4fpga/hdl4fpga/issues/157#issuecomment-512868164

It might be I understood you wrong, but scopeio only save values for one channel only and that is the best way, I think, .
When I referred to multiple triggers, I thought of having two signal triggered by different signals at the same time. I wasn't referring to having different modes. For example you have an OFDM signal(wifi, dvb-t, etc) you want it to be trigger by a self correlation function, and you want to get the spectral analysis of that signal as a Fourier Transform FFT, The user will want to trigger the FFT by slope or whatever but it is trigger by itself. So you have two different control trigger signals at the same time

I was thinking as we have enough channels, it is
best that user in toplevel module creates user-defined
math function which combines sample values from
many real channel and creates a math channel, example
power channel current*voltage, or difference channel
voltage1-voltage2

This is why it is important to define carefully a scopeio_trigger entity that let user replace it with their own.

I see, you want to somehow trigger to an interesting part
of DVB-T by using certain self-correlate function which can
then generate triggering signal. I never did this, but probably
I would consider a solution in the toplevel as a module or
process for DVB-T input (I/Q probably) that will create a synthetic
triggering channel which I will use as trigger in the usual way then.
I was focusing my 1-shot trigger system to replicate
old-school behavior of analog scopes and this is intended
to stabilize periodic functions (sinewaves etc) on the screen
and to monitor and capture simple digital packet traffic like
RS232, PS/2 or USB which may look for e.g. CRC fail or NAK
as trigger so they must capture what happened before and after
the trigger condition.
On 7/18/19, Miguel Angel<EMAIL_ADDRESS>wrote:

It might be I understood you wrong, but scopeio only save values for one
channel only and that is the best way, I think, .
When I referred to multiple triggers, I thought of having two signal
triggered by different signals at the same time. I wasn't referring to
having different modes. For example you have an OFDM signal(wifi, dvb-t,
etc) you want it to be trigger by a self correlation function, and you want
to get the spectral analysis of that signal as a Fourier Transform FFT, The
user will want to trigger the FFT by slope or whatever but it is trigger by
itself. So you have two different control trigger signals at the same time

I was thinking as we have enough channels, it is
best that user in toplevel module creates user-defined
math function which combines sample values from
many real channel and creates a math channel, example
power channel current*voltage, or difference channel
voltage1-voltage2

This is why it is important to define carefully a scopeio_trigger entity
that let user replace it with their own.
--
You are receiving this because you modified the open/close state.
Reply to this email directly or view it on GitHub:
https://github.com/hdl4fpga/hdl4fpga/issues/157#issuecomment-512999652


Every Dot file I try to open results in an exception

Latest version downloaded, sample files attached for testing.
Opened app, selected open, choose dot/gv file instant exception thrown

Graphviz tests.zip

Graph level attributes like
graph [dpi = 300];
node [shape=record, width=0.5, height=0.5];
are currently not supported. If you remove them from the graph you should be able to load it.

ok, kewl no probs will try.
Thanks.


Use word-wrap package for wrapping

Thanks for this. I've opened an issue: https://github.com/jtdaugherty/word-wrap/issues/2
Causes files to not have any of their blank lines displayed:

Haven't had a chance to take a look at the implementation to see what's going on, but happy to do so. Will submit a PR if I get a chance.

Just had a chance to take another look at this. Thanks for the prompt fix! There's one other behaviour difference preventing me from immediately merging this. My custom word wrapping implementation preserves the indentation level of a line when it wraps it – while wrapText just puts all wrapped lines at the beginning of a new line. Here's an example

and here's the same example with my existing implementation

Yeah, the behavior you desire is not called "wrapping" - it's called "filling." I could make my package support that, too, but it entails adding a new function because this is not always the desired behavior.

(I'm willing to add such a function, though.)

word-wrap version 0.2 now provides control over how indentation is handled.

I just pushed a patch that uses the new word-wrap release.

Thanks for this! I'm still not 100% happy with the default behaviour, but I'm pretty sure this is my last complaint...
Since we are wrapping lines to fit them in a fixed width, we need single words which are longer than the target width to be broken up. For example, note the URL towards the bottom of the README.md file in this repository.
on master

with wrapText

In the latter the end of the URL is cut off.

Thanks for the suggestion!

Looks like this only breaks words if there aren't any other really long words on the line. e.g. wrapping the following
reallyLongWord
short

reallyLongWord short

short reallyLongWord

to 10 characters gives us
reallyLong
Word
short

reallyLongWord short

short reallyLongWord

but I would expect
reallyLong
Word
short

reallyLong
Word short

short
reallyLong
Word

(Which is what you get with the wrapping algorithm that vim uses)

Fixed in 0.3.1.

I'm still not 100% happy with the default behaviour, but I'm pretty sure this is my last complaint...

For what it's worth, trying word-wrap with your project is fantastic because it's uncovering these issues. I wrote it as a simple thing to start with, but I'm glad we're trying it out here because this will make it more useful!

Good to hear this is useful feedback and not just annoying! I feel like we're getting pretty close now. The latest version fixes my previous issue, but now words are broken even if they aren't too long. For example:

rather than what I would expect:

Fixed in 0.3.3.

0.3.3 introduced a funky bug! I made a PR with a fix: https://github.com/jtdaugherty/word-wrap/pull/5

Okay! I'm pretty happy with this now. Thanks for accommodating my use case in word-wrap!

You're welcome. I'm glad we could make it work, because I just couldn't bear to see that you had implemented word-wrapping yourself -- lots of people have done it, and as we well know, it's hard to get right and hard to do generically enough to work for everyone. I made word-wrap to save other people time. :)

Absolutely! 🙂  I'll certainly keep an eye on word-wrap going forward.


Types are wrong, causing a breaking change in 0.7.1

Types for DepGraph constructor are incorrect.
Here the opts argument is required.
Here it is optional.

Oops - fixed it (and released version 0.7.2)!

Cheers. :)


Why is the topic of the pulsar protocol not like the mqtt protocol, it can support aaa/bbb/ccc or aaa/# or aaa/+/bbb

The topic of the pulsar protocol: persistent://public/default/my-topic, why the last local-name does not support/, like the mqtt protocol, it can support aaa/bbb/ccc or aaa/# or aaa/+/bbb, I Think it should be easy to achieve

From my point of view, Pulsar is already using / as a special character to separate different part in the topic name, like schema, tenant, namespace, topic
/ in topic name will just be misleading as user will think there're more level of topic grouping while there isn't.

@beyondyinjl2
Actually, Pulsar support  this format of topic now，like persistent://public/default/my-topic/A/B.
And you can use topicsPattern for consumer to receive multiple topics message.

topicsPattern cannot use * wildcards for tenants and namespaces

@beyondyinjl2 please discuss this type of topics on the mailing list or on Pulsar Slack.


What configuration can I use to separate LDAP ciphers from OTP?

I'm considering entering the OTP via the static-challenge parameter, but I still don't know how to do it.
Which big boss knows?

Hi.  You'd need to clone the repo, modify a couple of files and build your own container to be able to do this.
You'd need to edit files/configuration/create_server_config.sh and modify the line plugin $(dpkg-query -L openvpn | grep openvpn-plugin-auth-pam.so | head -n1) openvpn to something like plugin $(dpkg-query -L openvpn | grep openvpn-plugin-auth-pam.so | head -n1) "openvpn login USERNAME password PASSWORD otp OTP"
Then you'd need to modify files/etc/pam.d/openvpn.with-otp to be something like auth required pam_google_authenticator.so secret=/etc/openvpn/otp/${USER}.google_authenticator user=root authtok_prompt=otp forward_pass
I haven't actually tested this, and I'm pretty sure you'll need to fiddle with those settings to get it to work; I'm not sure exactly how pam_ldap.so and pam_google_authenticator.so interact when it comes to a static-challenge.

I think it is not working. I already tried it.
Anyway, Thank you very much.


Spruce up UI for curriculum app

(merged two stories to create this one)

From ch3847
Some simple design tweaks we could do:

Use Material UI
Convert to Guild colors, typefaces
Use style idioms for buttons, layout, etc.

From ch3403
Description
colors
We need to ensure that the branding (colors, mostly) align with the Guild branding guide.
favicon
We should always use the Learners Guild icon for favicons for all services. This was a Q1 goal of "internal brand matching external brand".
Side-note: Please don't create new iconography in any of our services!
Details
The "right" way to do it (that works on all devices in a seamless way) is to do something like IDM does by downloading the <head> metadata as necessary from brand.learnersguild.org.
Check out npm run icons:fetch on IDM.
Tasks

[ ] use standard favicon
[ ] ensure colors match style guide

is this a duplicate of issue https://github.com/GuildCrafts/curriculum/issues/74

Yup. I just merged #74 into this one and will close #74.

Ok so a first pass is ready for review here: https://github.com/GuildCrafts/curriculum/pull/91.
It's not perfect, but I didn't want to spend too much time customizing the bootflat styles if we will be merging curriculum soon anyway.

@jeffreywescott why do we have to use the standard favicon. That seems like form over function. I want to be able to distinguish between tabs more easily.

Iif we had an "on brand" favicon that clearly communicated Learners Guild while also communicating the specific app, we would consider it.
On Wed, Jul 12, 2017 at 9:59 AM, Jeffrey Wescott<EMAIL_ADDRESS>wrote:

Iif we had an "on brand" favicon that clearly communicated Learners Guild
while also communicating the specific app, we would consider it.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/GuildCrafts/curriculum/issues/76#issuecomment-314832143,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAgwWif2Kmxc3uxBp3InTtqDr_2CzEtks5sNPtYgaJpZM4OTRo3
.


SIGFPE in the hello world client when making the rpc call

What version of gRPC and what language are you using?
1.19.0 with C++. Newer versions (HEAD) also have the same behavior.
What operating system (Linux, Windows,...) and version?
Ubuntu 18.04 running in Docker for Mac (version <IP_ADDRESS> (31259))  on OSX (Mojave).
What runtime / compiler are you using (e.g. python version or version of gcc)
g++ (Ubuntu 7.4.0-1ubuntu1~18.04) 7.4.0
What did you do?
Summary: install the grpc libraries, clone this repo, compile the hello world client and run it. It is killed with the signal SIGFPE of type FPE_INTDIV (division by zero).
It outputs: 136 which is SIGFPE.
Troubleshoot with strace:  docker run --cap-add SYS_PTRACE -it grpc strace /tmp/grpc/examples/cpp/helloworld/greeter_client
It outputs: --- SIGFPE {si_signo=SIGFPE, si_code=FPE_INTDIV, si_addr=0x7f4eb0aa5f38} --- +++ killed by SIGFPE +++
Troubleshoot with gdb: docker run --cap-add SYS_PTRACE -it grpc gdb /tmp/grpc/examples/cpp/helloworld/greeter_client and then type run in the gdb repl.
It outputs: Program received signal SIGFPE, Arithmetic exception. 0x00007f0aa9fe8f38 in grpc_slice_intern () from /usr/lib/libgrpc++.so.1
Backtrace (obtained by typing bt in gdb after the program crashed):
#0  0x00007f9bc7f90f38 in grpc_slice_intern () from /usr/lib/libgrpc++.so.1
#1  0x00007f9bc7f96a1a in grpc_channel_register_call ()
   from /usr/lib/libgrpc++.so.1
#2  0x000055d91c197c82 in grpc::RpcMethod::RpcMethod(char const*, grpc::RpcMethod::RpcType, std::shared_ptr<grpc::ChannelInterface> const&) ()
#3  0x000055d91c195f2f in helloworld::Greeter::Stub::Stub(std::shared_ptr<grpc::ChannelInterface> const&) ()
#4  0x000055d91c195e80 in helloworld::Greeter::NewStub(std::shared_ptr<grpc::ChannelInterface> const&, grpc::StubOptions const&) ()
#5  0x000055d91c1a01ea in GreeterClient::GreeterClient(std::shared_ptr<grpc::Channel>) ()
#6  0x000055d91c19ff14 in main ()

What did you expect to see?
The normal hello world output and a 0 exit code.
What did you see instead?
Exit code 136.
Anything else we should know about your project / environment?
Works on OSX with grpc 1.19 (i.e same version as in the container) and same hello world example.

This report doesn't make a lot of sense. You're saying you're using grpc 1.19, but then you're using a .deb package...?
Where does this package come from? I can see a 1.16 package up on the repositories, but no 1.19 yet. The compilation of this package is probably the fault here.

Sorry if it was not entirely clear from the dockerfile. The library comes from the Debian package, the example from the git repository on the tag 1.19.
The makefile for the hello world example (in the grocery repository) compiles the example and only the example, not the library, and links it against the grpc library found by pkg-config i.e installed system wide.

Right, so the actual library you have system-wide isn't 1.19, and that's the important part because that's where your callstack fails.
At that point, we're not vendoring that Debian package you're using, and we're not seeing this issue with the general release we have. We can't really support vendored packages unless we know better how this is built.
But you should actually try to build grpc directly into your Dockerfile instead of installing the vendored package, to see if you can reproduce the issue. If you can't, I'd recommend filing an issue on the Debian bug tracker so they can assess the issue knowing their differences between our codebase and their package.
One example of a Dockerfile that builds gRPC can be found here: https://github.com/grpc/grpc-docker-library/blob/master/1.12.0/cxx/Dockerfile - of course, update the tag to 1.20, but the gist of it should be the same.

Indeed, building from source with 1.20 works, something must be wrong with the debian package.

Closing this issue.


Feature request: Add a range selectionMode

Having a range selection mode would be really nice, example: https://pub.dev/packages/date_range_picker

Hey @SebastienBtr :)
I see this topic quite late  :( but I like the idea! I'll work on it this week :)

@SebastienBtr
Just shipped Calendarro 1.20. It has a new SelectionMode.RANGE so selecting will work just as you showed in https://pub.dev/packages/date_range_picker .
You will have to set custom dayTileBuilder field to display it like in the link, but all is possible :)


rna-transcription: don't transcribe both ways

I can't remember the history of this, but we ended up with a weird non-biological thing in the RNA transcription exercise, where some test suites also have tests for transcribing from RNA back to DNA. This makes no sense.
If this track does have tests for the reverse transcription, we should remove them, and also simplify the reference solution to match.
If this track doesn't have any tests for RNA->DNA transcription, then this issue can be closed.
See https://github.com/exercism/x-common/issues/148

the tests in this track for rna-transcription only cover DNA.to_rna

can this be closed?

@exercism/elixir This needs to be closed, I think.


Bug "Default Pull to refresh"

pull to refresh after hide.

try to use the fix

compile 'com.hkm.ui:ultimaterecyclerview:0.5.8' . it's doesn't work.


Add classes to practice-dropdown component for stylin'

:octocat: but only if you give your pull a description because thems our rules.


Question about Edison's ADC resolution

As per our docs and source code we treat Edison Arduino board's ADC as ADS7955 with "10 bit packed into 12 bit" resolution.
At the same time driver sources (even though it calls itself ads7955 there, the resolution parameters are for 7951), Edison Arduino board schematic doc and BOM as well as the chip I actually see on my board suggest it's ADS7951, which is "12 bits packed into 16 bits".
So the question is - don't we want to correct that? Even if we want to keep it at 10 bit by default to be Arduino-compatible, at least docs update seems to be in order, to mention actual resolution and describe the way to get all 12 bits right away.
I can take care of that, unless there's some reason we have it like that.

@arfoll @tingleby any comments on this one?

Hey Alex, I had a look at the BOM for the edison arduino breakout (http://www.intel.com/support/edison/sb/CS-035273.htm) and the chip itself is a ADS7951SBRGER which according to TI is a 8 channel 12bit chip as you say (http://www.ti.com/lit/ds/slas605a/slas605a.pdf). I'll try get an official response.

Yep, exactly. In addition to that, the very driver used declares it as 12/16 as well.
Thanks, let's see what you find out.

Here's by the way a correction of 10-in-16 to 12-in-16 in the driver sources: https://github.com/01org/edison-linux/commit/f4251192d6f20c8895d2c7d23dd621ea05fbe33c

Hopefully then newer images will not have this issue. Mraa should be able to deal with it just fine, currently it knows the edison ADC is 12bit and lets you set the res to be 12, obviously if your kernel is 10-in-16 then that'll be a bit pointless for you. Mraa keeps ADC's at 10bits since that's what most people expect and from what I understand quality past 10bits of some 12bit ADCs can be questionable.

The kernel commit was just an additional evidence that it's actually 12-in-16 and that it was corrected there as well. Given the date of the commit, it's highly unlikely anyone uses OS image without this fix - that was 2 official releases ago.
I understand the 10 bit by default setting, though I would still suggest to correct the documentation for the Edison Arduino board - right now we state that

ADC kernel module will return 12bit number but the ADC itself only has an accuracy of 10bits.

which is not true. Kernel module returns a 16bit number with 12 significant bits.
If you have no objections I'll prepare a PR.

Oh and while we are at it (feel free to let me know if there's a better channel for discussing things like that - IRC is a bit quiet :)
In the source code we have three distinct designations of the ADC resolution:

value_bit field in struct _aio
adc_raw field in mraa_board_t
adc_supported field in mraa_board_t

Out of which adc_supported isn't really used anywhere in the library code and value_bit is hardcoded via #define to be 10 + there's a function to set it at run time at user's will (without any boundary checks). In aio.c it's only the raw_bits and value_bit that participate in the result processing.
Could someone please describe what was the idea behind each of those (comments are a bit scarse) and what adc_supported is supposed to be used for? My understanding based on the function descriptions in the docs + studying the sources is that value_bit should rather be initialized based on adc_supported and adc_raw should be those "12" and "16" respectively in the "12bit-packed-into-16bit" designation. value_bit, when set using that function, should be verified to be not more than adc_raw and really not more than adc_supported to make sense.
But then the logic we have right now in the code is a bit different, so I wonder what the actual background for such layout is and would be grateful for a clarification.

Ah yes - PR away :)
IRC is quiet but I'm usually on there just not talking.r

@tingleby can you add some doc around adc_raw and adc_supported? @alext-mkrs is 100% correct that code is a bit messy, there's no bounds checking when calling adc set bits, it should be capped to (probably) adc_raw.

@tingleby and feel free to let me know if I can help, I'd be glad to.


Explorer Error "Unexpected field length" only with more than one host

Hi @alexanderzobnin,
I was using the Grafana explorer and I am facing this issue when querying more than one Host (Regex: /.*/).
With only one host this does not happened at all! And also trying it many times has a rare one time successful response after many tries.
On a successful response I see this warning on explore too,
The keyword 'inner-spin-button' specified to an 'appearance' property is not standardized. It will be removed in the future.

Let me know if you need more information.
Expected behavior
To return Zabbix Data without crashing for more than one host
Screenshots
Not applicable.
Network data
Explorer query:
{"datasourceId":2,"method":"history.get","params":{"output":"extend","history":"3","itemids":["162257","40721","40651","40686","40756","162352","162387"],"sortfield":"clock","sortorder":"ASC","time_from":1612276691,"time_till":1612280291}}

Console Error:
datasource.ts:175 Converting response to the wide format
responseHandler.ts:189 Data frames: adding missing points
datasource.ts:175 Converting response to the wide format
actions.ts:524 Error: Unexpected field length
    at a (flotPairs.ts:19)
    at l (getGraphSeriesModel.ts:60)
    at t.T [as project] (decorators.ts:89)
    at t._next (map.js:35)
    at t.next (Subscriber.js:53)
    at t._next (map.js:41)
    at t.next (Subscriber.js:53)
    at t._next (map.js:41)
    at t.next (Subscriber.js:53)
    at t.notifyNext (mergeMap.js:85)

Software versions

Grafana
Zabbix
Grafana-Zabbix Plugin

7.3.7
4.2.8
4.1.2

Yes, confirmed.

Default Template Module ICMP Ping
Make panel with ICMP response time, add some hosts
Periodically: "Unexpected field length" :o(
Page refresh temporarily helps but... ;o(

Grafana
Zabbix
Grafana-Zabbix Plugin

7.3.7
5.0.8
4.1.4


Different syntax for forms 4.4

I think it's worth mentioning that for forms v4.4 the IndicatorView prop doesnt exist on CarouselView and has to be instead set on IndicatorView as IndicatorView.ItemsSourceBy="carouselName"

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

ID: 964bba3d-71b4-c30b-de73-8c2f0864a7df
Version Independent ID: d735dc5e-8c87-ffef-c07b-51a991e4327a
Content: Xamarin.Forms IndicatorView - Xamarin
Content Source: docs/xamarin-forms/user-interface/indicatorview.md
Product: xamarin
Technology: xamarin-forms
GitHub Login: @davidbritch
Microsoft Alias: dabritch

Hi @ihorbond
That's correct, but because the IndicatorView and CarouselView are experimental features, their APIs might/can change until their final stable release. Our previous experience is that listing the API changes that experimental controls go through makes for unreadable docs.


Thoughts on mutate function not handling rejected promises

Hey Tanner! Loving this library so far. Just spend the last little but with a snag on the fact that mutate propagates rejected promises. No big deal because I can handle those errors myself, however I don't see any reason for react-query to not just handle them for us. For example
import React from 'react'
import ReactDOM from 'react-dom'
import {useMutation} from 'react-query'

function failingMutation() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      reject(new Error('oh no'))
    }, 1000)
  })
}

function App() {
  const [mutate, {error}] = useMutation(failingMutation)

  async function handleClick() {
    try {
      await mutate()
    } catch (e) {
      // ignore this because useMutation gives me the
      // error that I need to display anyway.
    }
  }

  return (

{error ? error.message : 'no error yet'}

      <button onClick={handleClick}>Click me</button>

  )
}

ReactDOM.render(<App />, document.getElementById('root'))

The point I'm trying to make here is that there's no value in useMutation not handling the rejected promise for us because it gives us the error anyway.
As I was developing this issue, I thought that maybe this could be useful for having ErrorBoundaries handle those errors, but then I realized that because the error is happening outside of React's callstack, a failed promise wouldn't get handled by error boundaries anyway. So react-query could make that happen and that might be useful, but I would argue that it would be better to not, and allow users to just do this instead:
React.useEffect(() => {
  if (error) throw error
}, [error])

Or maybe this could be something as an opt-in option for useMutation.
Either way, I think mutate needs to not propagate rejected promises. Otherwise we have a bit of unnecessary boilerplate to make sure we don't have unhandled rejections.
What do you think?

Hmm I think there are use cases for getting a promise still like in-scope side effects for error handling where you called the mutation. However I would be 100% in on adding an option and global default option that would make these throw or not. That would also make it a backwards compatible change too until we decide to change the default to not throw in the next major version. Thoughts?
On Jan 31, 2020, 5:13 PM -0700, Kent C. Dodds<EMAIL_ADDRESS>wrote:

Hey Tanner! Loving this library so far. Just spend the last little but with a snag on the fact that mutate propagates rejected promises. No big deal because I can handle those errors myself, however I don't see any reason for react-query to not just handle them for us. For example
import React from 'react'
import ReactDOM from 'react-dom'
import {useMutation} from 'react-query'
function failingMutation() {
return new Promise((resolve, reject) => {
setTimeout(() => {
reject(new Error('oh no'))
}, 1000)
})
}
function App() {
const [mutate, {error}] = useMutation(failingMutation)
async function handleClick() {
try {
await mutate()
} catch (e) {
// ignore this because useMutation gives me the
// error that I need to display anyway.
}
}
return (

{error ? error.message : 'no error yet'}
Click me

 )
}
ReactDOM.render(, document.getElementById('root'))
The point I'm trying to make here is that there's no value in useMutation not handling the rejected promise for us because it gives us the error anyway.
As I was developing this issue, I thought that maybe this could be useful for having ErrorBoundaries handle those errors, but then I realized that because the error is happening outside of React's callstack, a failed promise wouldn't get handled by error boundaries anyway. So react-query could make that happen and that might be useful, but I would argue that it would be better to not, and allow users to just do this instead:
React.useEffect(() => {
if (error) throw error
}, [error])
Or maybe this could be something as an opt-in option for useMutation.
Either way, I think mutate needs to not propagate rejected promises. Otherwise we have a bit of unnecessary boilerplate to make sure we don't have unhandled rejections.
What do you think?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

I'm in favor of that 👍

Would love this too. Similar to what I suggested at https://github.com/tannerlinsley/react-query/issues/96#issuecomment-572856758 if I'm getting this right.

Yes, that's the same thing 👍

This will be tricky though because if we also want people to be able to opt-in to a more Error Boundary friendly situation, then we'll need to tell react-query that we don't want the promise rejected and we want the error thrown within React's callstack. Not sure what's best for the names of variables, but in any case I think the current default is something people might want to do, but not as common of a use case.

Yeah, that's what I'm thinking. Currently my usage has been gravitating towards handling errors in their own custom hooks (as opposed to in components), and it would be simple enough to just opt-in to a promise being thrown if that's a requirement. Something similar to earlier versions but an opt-in instead of an opt out: useMutation(mutationFn, { returnPromise: true }) is where my mind is headed.

And maybe something like useMutation(mutationFn, { renderError: true }) for error boundaries? I think I can imagine a situation where you would want both a promise returned (for business logic) and the error also rendered to propagate to an error boundary.

What if this is the API (with these options as defaults eventually)?
useMutation(mutationFn, {
  catchRejections: true,
  useErrorBoundary: false,
})

I'm thinking the useErrorBoundary could default to false if you're not using concurrent mode/suspense and default to true if you are. Not positive about that. It seems like error boundaries make more sense for queries than mutations 🤔

Update: I’ll be getting to this sometime next week. Stay tuned.
On Feb 4, 2020, 8:40 AM -0700, Kent C. Dodds<EMAIL_ADDRESS>wrote:

What if this is the API (with these options as defaults eventually)?
useMutation(mutationFn, {
catchRejections: true,
useErrorBoundary: false,
})
I'm thinking the useErrorBoundary could default to false if you're not using concurrent mode/suspense and default to true if you are. Not positive about that. It seems like error boundaries make more sense for queries than mutations 🤔
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

Released in v0.4.0! Check out the changelog, docs, or this commit for more information: https://github.com/tannerlinsley/react-query/commit/c4bcdac16b0daf19994e055ddd562e89523d3d6e

@tannerlinsley I think it would be nice to have the same for manual queries too.

I came to this issue because I was following the docs, and my try/catch wasn't catching even though my axios query was definitely failing with a 400 error.
Docs should be updated from useMutation(pingMutation) to useMutation(pingMutation, { throwOnError: true }) (or the example should be changed to now use try/catch). Happy to submit pull request if you let me know which way you'd like to go.

I came to this issue because I was following the docs, and my try/catch wasn't catching even though my axios query was definitely failing with a 400 error.
Docs should be updated from useMutation(pingMutation) to useMutation(pingMutation, { throwOnError: true }) or the example should be changed to not use try/catch. Happy to submit pull request if you let me know which way you'd like to go.

Yes please if at all possible, amazing library but this def caught me by surprise and brought me here

Yes please if at all possible, amazing library but this def caught me by surprise and brought me here

this looks pretty outdated. Only .mutateAsync needs try/catch, the example should work as-is

Yes please if at all possible, amazing library but this def caught me by surprise and brought me here

this looks pretty outdated. Only .mutateAsync needs try/catch, the example should work as-is

I see, currently even if I "catch" error in onError of useQuery it still does not prevent error from bubbling to the console. I am probably misunderstadning something...
onError: (error) => {         showErrorMessage(           error?.response?.data?.message || 'something went wrong',         )       },

That is because react-query logs to the console per default, which you can override: https://react-query.tanstack.com/reference/setLogger

That is because react-query logs to the console per default, which you can override: https://react-query.tanstack.com/reference/setLogger

Oh wow! Thank you so much @TkDodo for answering and totally helping me out.
Maybe it was just me being easily confused, but I feel like adding some of that information to the error-handling page of docs would be great. It seems unlikely to accidentally stumble upon setLogger api page, at least to me.
Again thanks a bunch :)

@TkDodo @tannerlinsley
Seemed catchRejections option were not available in the latest version (v4) of useMutation and devtools still logs Uncaught promise message, is there any way to fix this? Thanks.

@coodoo please provide a codesandbox reproduction. catchRejections is not something I am familiar with, which means it doesn't exist for at least 2 years 😅.
In v3, the mutation functions were split into mutate and mutateAsync:

mutate returns nothing and catches errors
mutateAsync returns a Promise, so you need to catch errors manually.

You can read about the differences here: https://tkdodo.eu/blog/mastering-mutations-in-react-query#mutate-or-mutateasync

Thanks @TkDodo for the quick reply, mutateAsync is exactly the thing I need to manually catch the error instead of letting it showing up in the devtools console! 🙌


Include coverage reports in CI

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@868b73c). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff            @@
##             main        #7   +/-   ##
========================================
  Coverage        ?   100.00%
========================================
  Files           ?         7
  Lines           ?      1849
  Branches        ?       344
========================================
  Hits            ?      1849
  Misses          ?         0
  Partials        ?         0

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@868b73c). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff            @@
##             main        #7   +/-   ##
========================================
  Coverage        ?   100.00%
========================================
  Files           ?         7
  Lines           ?      1849
  Branches        ?       675
========================================
  Hits            ?      1849
  Misses          ?         0
  Partials        ?         0

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


(SERVER-533) Update branching document for 2.1

Without this patch we don't have a documented plan for how to handle changes
destined for 2.1.x in our current world where 1.1 and 2.0 have not yet been
released.  This is a problem because we need to start active development on 2.1
before 1.1 and 2.0 are released, but we only have stable and master for 1.1 and
2.0 respectively.
This patch addresses the problem by establishing a plan of action that
introduces the 2.1.x branch and how we're going to handle it as a deviation
from our normal workflow with stable and master.

:+1: nice writeup

:+1: This looks great!  Especially like the addition of the summary.  Will hold for merge on the cosmetic issue that @nwolfe pointed out.

Cosmetic issues fixed, ready for a second pass.


PandaHand not working with real robot (missing encoder sensors)

We are trying to use the mc_rtc framework including mc_panda with a real Franka Emika Panda robot.
Our application (simple motion to contact point) works fine in simulation with or without robot hand attached.
But on the real robot, it only works without Franka Hand attached.
With Franka Hand, we get the following error message:
[critical] what(): Could not initialize the robot state from encoder sensors: got 0 encoder values but the robot (panda_hand) expects 9.
Make sure that the MainRobot is compatible with the real/simulated robot used by the interface.
Could not initialize the robot state from encoder sensors: got 0 encoder values but the robot (panda_hand) expects 9.
Make sure that the MainRobot is compatible with the real/simulated robot used by the interface.
Aborted (core dumped)

In mc_rtc.yaml, we use PandaHand (instead of PandaDefault), and we also changed the respective lines in our controller to PandaHand, panda_hand, and Hand (instead of PandaDefault, panda_default, and Arm).
We assume that the changes in our controller are correct since everyhing works fine in simulation.
We also know that the robot is working fine with and without hand since we can operate it with ros + libfranka.
Can you please tell us if we are missing something in any of the configuration files or can you provide a minimum working example for the use of PandaHand with the real robot.
Or could still there be an issue with the framework while operating with the real robot with its hand attached?
We saw examples of the robot working with a custom end effector or the suction pump but never with its original hand.
What we wonder about most, is the fact that 0 of the 9 expected encoder values are available.
We assume that the 9 expected values are those for 7 arm joints plus 2 finger joints.
But, since PandaDefault works fine, we would have expected that at least 7 of the 9 expected values are available.
Thanks for any help in advance!

Hi @sven1904
I think this is rather an mc_franka configuration issue, i.e. you should have a Franka section in your configuration (like this example) and it might be missing a panda_hand section?

Thanks! That solved the issue.
We had that section, but their was still panda_default instead of panda_hand.


Add custom elements demo

Add a demo illustrating how to wrap MDL's v2 architecture into a custom element.

Superceded by https://github.com/material-components/material-components-web/issues/14


All Object Traversal Functions Behave the Same

Rein in for 🌽sistency

A lot of work on the last release was focused around some of the Object Traversal Functions provided by crocks. This forced me to look at some inconsistencies  between these functions and how undefined values are treated through out the library as a whole.
This PR brings them all inline and has them behave the same way across the board:

The key/paths MUST be (String | Integer) or [ String | Integer ]. All functions will throw a TypeError if this condition is not met. This lets values like null and undefined to be rejected and avoid String coercion when traversing keys. A key of 'null' or 'undefined' will HAVE to be supplied to access keys of those names.
Any traversable value/instance (except NaN) can be provided as the object of traversal.  Any non-traversable values (undefined and null) will behave as though the key/path is not defined. While NaN is traversable, due to its special nature, it is treated as non-traversable in this case one case. This allow things like:

// safeLength :: a -> Maybe Number
const safeLength =
  prop('length')

safeLength('nice')
//=> Just 4

safeLength([ 1, 2, 3 ])
//=> Just 3

safeLength((x, y) => x + y)
//=> Just 2

safeLength(4)
//=> Nothing

All values in a defined key/path will be treated as defined, except for undefined. When a valid key/path to an undefined value exists, it will be treated as not being defined. This matches the theme of undefined throughout the library as a whole. So these are valid:

const data = {
  a: {
    null: null,
    nan: NaN
  }
}

hasPropPath([ 'a', 'null' ], data)
//=> true

propPath([ 'a', 'nan' ], data)
//=>Just NaN

All deep path traversals will use a for loop to allow for early exit on large path lists. It is more imperative, but will save those few extra cycles.

Also this adds the function: hasPropPath just to round out hasProp.

Coverage remained the same at 100.0% when pulling 96aebd9066bf1477530981b7940326eae0836631 on obj-trav-funcs into 687269d91c8f877114a96c9382cd6fd85ba944d9 on master.

@HenriqueLimas Great 👀!
Going to clean up the spec files as well tonight. Noticed that when I went to go add them in that those specs are just all over the place and hard to follow. Gonna do some 💅 on them.

@evilsoft nice. What are you thinking to do? Maybe divide each test like t('function x throw errors', ()=> { // test related to throwing errors })

Exactly!!

👌 perfect. That's will increase a little the LOC but it will organize a little bit more.

@HenriqueLimas and @karthikiyengar made those updates to the specs and made sure that @HenriqueLimas mentioned is dealt with with nils in the key path and it throwing an error. I had to keep that isNil check outside of the for loop in order to handle cases with nil being passed into the data portion, but still allow all other path traversable types (pretty much everything else)

@evilsoft IMHO we can remove the isNil outside the for loop, since the first value will be the target.

@HenriqueLimas
We allow an empty arrays, which for the most part acts like identity. So if we get an empty array (for one reason or another) we will never make it into the loop. So that outside isNil catches that case.


DOC:linalg: Remove references to removed pinv2 function

Clean up remaining references to scipy.linalg.pinv2
Related to #16245

Not just deprecated, but removed already (I know you know that, but just to signify to other readers/reviewers that it would be nice to still get this into 1.9.0).

True, fixed the title accordingly.

Wait actually not yet /home/circleci/repo/doc/source/tutorial/linalg.rst:354: WARNING: py:obj reference target not found: linalg.pinvwill find
`

Yay doc CI is green 😃


Add batch update taxon_name for OTUs

Implements #3656.
Modeled after nomenclature batch_move, most of it is copy & pasted.

Codecov Report
Attention: 12 lines in your changes are missing coverage. Please review.

Comparison is base (12cb346) 85.87% compared to head (394fcfd) 59.87%.

:exclamation: Current head 394fcfd differs from pull request most recent head 1f45791. Consider uploading reports for the commit 1f45791 to get more accurate results

Files
Patch %
Lines

app/models/otu.rb
9.09%
10 Missing :warning:

app/controllers/otus_controller.rb
33.33%
2 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@               Coverage Diff                @@
##           development    #3664       +/-   ##
================================================
- Coverage        85.87%   59.87%   -26.00%
================================================
  Files             2020     1519      -501
  Lines            74532    46235    -28297
================================================
- Hits             64002    27684    -36318
- Misses           10530    18551     +8021

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


[BugFix][Cherry-Pick] Fix bug variables header return wrong

Fixes #31410
What type of PR is this:

[ ] BugFix
[ ] Feature
[ ] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Does this PR entail a change in behavior?

[x] Yes, this PR will result in a change in behavior.
[ ] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[x] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[ ] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

[x] I have added test cases for my bug fix or my new feature
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto-backported to the target branch

[ ] 3.2
[ ] 3.1
[ ] 3.0
[ ] 2.5

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)

[FE Incremental Coverage Report]
:heart_eyes: pass : 3 / 3 (100.00%)
file detail

path
covered_line
new_line
coverage
not_covered_line_detail

:large_blue_circle:
com/starrocks/sql/analyzer/AstToStringBuilder.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/qe/ConnectContext.java
1
1
100.00%
[]

:large_blue_circle:
com/starrocks/sql/analyzer/ExpressionAnalyzer.java
1
1
100.00%
[]

[BE Incremental Coverage Report]
:heart_eyes: pass : 0 / 0 (0%)


Added WMail

nice icon. 👍

wait what now?
Why would you suggest WMail be added to the Electron App list on April 3rd when you ended WMail on March 30th? Source
If anything, Wavebox should be submitted.

Agreed with @MichaelTunnell. I just saw WMail on the web page and came here to remove it. I’m surprised to find its developer submitting it when the app was discontinued for another.


fix: formatting causing stylua failure

Seems to have been introduced in bb5411cd9a88f6da99f877229ea1365ee95388ba

oh sorry I didn't see this, but this should be fixed on main


remove anchor component

The Anchor component creates a link without text as target for anchor links, however, we can just assign the id of the component to a header element instead.

 Remove anchor links on learn pages and add IDs on headings instead

 Remove anchor links on learn pages and add IDs on headings instead


Add a wrap_iter method

A call to wrap_iter() shall consume both the ProgressBar and the
given Iterator, returning an iterable that will yield results from the
iterator while updating the progress bar.
Fixes #7.

I wonder if consumption and finalizing is such a good idea. The finish call already happens in Drop so most of the time it's unnecessary anyways since the entire thing will go out of scope and until it's finished one could restart the progress bar. Or alternatively use the same progress bar cumulative over multiple iterators.

After giving this some thought, I agree. I'll submit a patch asap.

Bump, to keep this from falling off @mitsuhiko's radar.


Suggestion when selecting remove part of the word

When selecting suggested line of code, other pieces of it are missing,

fixed in https://github.com/codota/tabnine-sublime/releases/tag/3.0.14


Add id_tokens column to accounts table

Description
Add a new id_tokens column to the accounts table to support OIDC logout.
As described in Design: Supporting OIDC logout, we need to store OIDC ID tokens in the database. Since we need to store a map of ID tokens, we use a column of type jsonb.
This PR also adds supporting Java classes:

SerializedIdTokens: a low-level class that manages the (Jackson) correspondence between the new column and a Java Map.
IdTokens: a wrapper class for SerializedIdTokens that adds domain-specific API methods, including purging expired tokens.
IdTokensFactory: used to construct IdTokens instances. Since SerializedIdTokens instances are constructed by Jackson, we cannot inject a Clock for computing expiration. Instead, we inject the Clock into this factory and pass an instance of SerializedIdTokens to the factory's create() method.

Release notes
The title of the pull request will be used as the default release notes description. If more detail is needed to communicate to partners the scope of the PR's changes, use this release notes section.
Checklist
General
Read the full guidelines for PRs here

[x] Added the correct label: < feature | bug | dependencies | infrastructure | ignore-for-release | database >
[x] Created unit and/or browser tests which fail without the change (if possible)
[ ] Performed manual testing (Chrome and Firefox if it includes front-end changes)
[ ] Extended the README / documentation, if necessary

User visible changes

[ ] Followed steps to internationalize new strings
[ ] Wrote browser tests using the validateAccessibility method
[ ] Tested on mobile view. See mobile device mode
[ ] Manually tested at 200% size
[ ] Manually evaluated tab order

New Features

[ ] Add new FeatureFlag env vars to server/conf/helper/feature-flags.conf
[ ] Conditioned new functionality on a FeatureFlag
[ ] Wrote browser tests with the feature flag off and on, etc.

Instructions for manual testing
If instructions are needed for manual testing by reviewers, include them here.
Issue(s) this completes
Relates to #4359

Current dependencies on/for this PR:

main

PR #5695

PR #5730   👈

PR #5731

This comment was auto-generated by Graphite.

Merge activity

Nov 15, 8:39 AM: Graphite rebased this pull request as part of a merge.


Can't import juice via rollup

I'm having some difficulty importing juice via rollup for use in a browser application.
I've had errors about unresolved path to ./package which is when you import the package.json file, then I had to add a plugin to parse the json, then I ran into problems with the shebang from node_modules/datauri/index.js.
What is the preferred method of digesting this package for rollup and generating a browser-friendly version?

Also running into issue @ProLoser did you ever find a solution ?

Had a similar problem with webpack. Used https://github.com/JavascriptIsMagic/shebang-loader for the specific module, i.e.
          {
            test: /\.js$/,
            include: path.resolve(__dirname, 'node_modules', 'datauri'),
            use: [require.resolve('shebang-loader')]
          }

I'm having the same problem with TypeScript, because require('./package') is not a valid TypeScript import. :cry:
Is there any reason not to use require('./package.json')?


Return chunks fetched by GetChunks on error

We will put the chunks fetched so far into the cache, so if the client retries we will probably get a bit further next time.
This change was already made by #605, but it was broken about an hour later by merging #603 which was created before.

Gentle nudge for a unit test perhaps?

@tomwilkie that was a good nudge - turned out the code I'd written still didn't work.
The groundwork to be able to inject partial errors was rather tortuous, and the test is a bit "carefully crafted", but it does the job.
Bonus: the backoff parameters are now configurable.  I only really needed to set them faster so the test would time out in under a minute, but it seemed natural to add command-line options.

Thanks @bboreham, LGTM!  One minor nit.


Routing: always redirected to localhost:3000

Demo:
https://eric.co.de/u/locationbug.mp4
MacOS Firefox Developer Edition 67.0b19 (64-bit)
Might be related, log complains about duplicate :id used
 WARN  [vue-router] Duplicate param keys in route with path: "/networks/:id/podcasts/:id?"               10:43:39

 WARN  Argument "id" has invalid value null.                                                             10:43:39

  at _api__WEBPACK_IMPORTED_MODULE_0__.default.networks.getNetwork.then.response (server.js:4327:15)
  at processTicksAndRejections (internal/process/task_queues.js:86:5)

My guess: The mounted() method in the default.vue layout file is fired before the store gets its persistent refill from the local storage.
Try to change the beforeMounted() method to updated() and check if auth.isLoggedIn has changed. If so, do not redirect. Do not know if that will work though ;)


Missing - Creating the Certificates in section "Set-up a custom domain name in API Management"

The most important step of creating the certificates in this page in the above section is missing. Please add steps to actually create the three certificate related files in section "Set-up a custom domain name in API Management".
How do these certificate files magically appear, which are being subsequently being referred to. The documentation does not contain this crucual step of creating these certificates correctly. This is a BIG MISSING step for anyone who follows this doc.
$gatewayCertCerPath = "C:\Users\Contoso\gateway.cer" # full path to api.contoso.net .cer file
$gatewayCertPfxPath = "C:\Users\Contoso\gateway.pfx" # full path to api.contoso.net .pfx file
$portalCertPfxPath = "C:\Users\Contoso\portal.pfx"  # full path to portal.contoso.net .pfx file

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

ID: 37c1f253-44c2-bd07-4c74-9d4c77c45e6e
Version Independent ID: 281ce98c-115b-3c39-52b7-3df95dfd8b52
Content: How to use API Management in Virtual Network with Application Gateway - Azure API Management
Content Source: articles/api-management/api-management-howto-integrate-internal-vnet-appgateway.md
Service: api-management
GitHub Login: @solankisamir
Microsoft Alias: sasolank

Thanks for the feedback and bringing this to our notice . At this time we are reviewing the feedback and will update the document as appropriate .

Hello @kprpg, Thank you for your feedback! We have assigned this issue to the author to review further and take the next course of action.

#reassign:dlepow


Update RegistrationActivity.java

AppCompatActivity compatible!

Replacing AccountAuthenticatorActivity with AppCompatActivity is not correct. Even though it extends AppCompatActivity, it includes a specific callback used when registration is finished in AccountAuthenticatorActivity. If removed, it will no longer work as expected. Please check the Android source or simply run the code to see that.


add a new method to karate driver for getting the html source of a page

Hi. Is it possible to add a new method in karate (web) driver to get the source of the current web page, i.e. calling the Selenium getPageSource() method?
This is important when the driver return back a page that you need to save and inspect later in the test. The case would be for example a web page that is actually a xml file but is rendered by the browser as a html file. In this case it would be simpler to have the original xml file in order to parse it.

@forlixdev can do. for now see if * html('body') gives you what you need

@forlixdev also see if this works: https://stackoverflow.com/a/9497560/143475
* html('html')

Thanks I'll try and get back to you

closing as wontfix since I just checked and * def source = html('html') should give you what you need. if you have to get some XML, I recommend getting it directly via Karate's API testing (core) capabilities instead of asking the browser for it. you can always ask the browser for * def xmlUrl = driver.url
if you really need this please contribute a PR, because this needs a little research into how to do this via the WebDriver API and the Chrome DevTools in a consistent way


How to use edit-chroot -c CHROOTS (for changing chroot dir)

I don't know how to use the command.

@liamhetkoekie - Please refer to the answer I gave you for a similar question here https://github.com/dnschneid/crouton/issues/960#issuecomment-174312063.
Also, you can take a look at the other replies in that thread for a lot of good info. in general.

Also, this issue can probably be closed.


Fix: CUS-1729 improving test consistency and publish pipeline

JIRA ticket link/s

CUS-1729

Summary of changes

fixing a metric test that fails randomly to now be consistent
Updating the build workflow to only run on non tagged pushes
Updating the publish pipeline to checkout with the app credentials and removing the signing functionality as it doesn't have a verified signed commit

Additional Info

Merging without review to fully test the publish against the main branch


Bug on adding second display in Big Sur

I started using simple-bar with a secondary display attached. For some reason, my simple-bar looks like this

I think this might be a CSS issue and it is only happening on the second display. While I try to figure it out, I'm posting this issue to see if anyone else is facing this issue.

@anujc4 make sure to set simple-bar spaces-jsx to only display on your primary monitor and simple-bar spaces-2-jsx to only show on your secondary monitor.

It indeed seems that you have both the spaces and spaces-2 actived on your displays.
Enabling only one on the right display will solve this problem.
Otherwise, I juste pushed an update including a revamp (created by @theshortcut) of multiple display handling which automatically resolve this issue by removing the spaces-2 widget and by handling everything in the spaces widget.
So you'll just have to pull in order to fix that.

The fix worked! Thanks, Jean 👍


tensorflow canary example

Adds main diag + tensorflow canary example + removes the sklearn/xgboost model files as they are no longer needed

This change is

/retest

Glad you're adding that diagram to the front page!

/lgtm
/approve

/retest

@ellis-bigelow something amiss with tests - The golint library went wrong within the CI/CD system.
http://testing-argo.kubeflow.org/workflows/kubeflow-test-infra/kubeflow-kfserving-presubmit-e2e-132-3e39473-5856-adb5?tab=workflow&nodeId=kubeflow-kfserving-presubmit-e2e-132-3e39473-5856-adb5-3683932959&sidePanel=logs%3Akubeflow-kfserving-presubmit-e2e-132-3e39473-5856-adb5-3683932959%3Amain

@animeshsingh Can you rebase it is fixed in https://github.com/kubeflow/kfserving/pull/136

Don`t think it was that @yuzisun - seems it made no difference

/retest

/lgtm
/approve
Going to force it.


Bug: PageModuleLoader calls wrong render function

Hey, thank you for your great work.
In trying to check out Beacon, I noticed that https://github.com/BeaconCMS/beacon/pull/376/ seems to have introduced a bug that prevents pages from rendering, at least in the default setup.
Beacon.Loader.PageModuleLoader calls Beacon.Template.render/1 with assigns although it expects a page module. Calling render/2 seems to fix the issue, however I know too little about Beacon to submit a PR right now.
Beacon.Loader.PageModuleLoader:44
%Phoenix.LiveView.Rendered{} = rendered <- Beacon.Template.render(page_module, assigns) do
Hope that helps

I think I have the same problem. If I refresh the page fast enough, my page content eventually renders.
https://github.com/BeaconCMS/beacon/assets/7387295/11c7d8c5-e00f-4e11-959d-cf0a661481ec

My bad, a refactor gone wrong. It should be fixed by https://github.com/BeaconCMS/beacon/pull/380, please give it a try.


v-bind="$attrs" not passing directive on the target element

Vue version
3.2.47
Link to minimal reproduction
https://codesandbox.io/s/vue3-directive-bind-bug-ysk3tu?file=/src/App.vue
Steps to reproduce

Create a custom directive
Create a custom component that has inheritAttrs: false, and has a child element with v-bind="$attrs"
use the custom directive on the custom component

What is expected?
expected to see child element as el in mounted(el, binding) function
What is actually happening?
instead saw custom component's element rather than it's child
System Info
No response
Any additional comments?
No response

Asked on discord

jacek: you can either

 or
 or https://discord.com/channels/325477692906536972/1051531398676217857/1053596780597612636

copying the link content here for keeping history:

posva: I see. In my experience, a directive is always added because its nature goes beyond a component specific prop. So when rendering a component, the directive is always meant to be present and I haven't found the cases where I could require to easily switch any directive on a component

closing as directive is not attribute and this is expected behavior.


Add unit tests for main.go and handle APM server edge behaviors

Motivation
The goal of these tests is to ease the refactor of the extension following the recent code reviews. They can also be used to solve some of the current issues. For example :

TestFlush reproduces #133 (a RuntimeDone signal is sent to the extension after the closure of the channel)
TestSeveralTransactions reproduces #128 (race condition causing a WaitGroup to be modified while it hangs)

The core idea is to combine a mock Lambda API backend with a mock APM server to enable the recreation of several scenarios.
Limitations

Since #132 is not merged yet, TestFlush panics. Same for TestSeveralTransactions, as the related issue is not yet solved.
Another limitation is the fact that due to the concurrent nature of the processes tested, the aforementioned failing tests might sometimes pass.

:broken_heart: Tests Failed

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Start Time: 2022-03-01T20:25:49.556+0000

Duration: 7 min 57 sec

Test stats :test_tube:

Test
Results

Failed
2

Passed
87

Skipped
6

Total
95

Test errors
Expand to view the tests failures
Test / Matrix - PLATFORM = 'macosx && x86_64', GO_VERSION = '1.17' / Test / TestSeveralTransactions – elastic/apm-lambda-extension

Expand to view the error details
 Failed

Expand to view the stacktrace
 === RUN   TestSeveralTransactions
2022/03/01 12:29:37 Multiple transactions
2022/03/01 12:29:37 APM server response body:
2022/03/01 12:29:37 APM server response status code: 202
2022/03/01 12:29:37 funcDone signal received, not processing any more agent data
2022/03/01 12:29:37 b03a29ec-ee63-44cd-8e53-3987a8e8aa8e
2022/03/01 12:29:37 Register response: {
	"functionName": "UnitTestingMockLambda",
	"functionVersion": "$LATEST",
	"handler": "main_test.mock_lambda"
}
2022/03/01 12:29:37 Could not read ELASTIC_APM_DATA_RECEIVER_TIMEOUT_SECONDS, defaulting to 15: strconv.Atoi: parsing "": invalid syntax
2022/03/01 12:29:37 Extension listening for apm data on :8200
2022/03/01 12:29:37 Waiting for next event...
2022/03/01 12:29:37 Server listening for logs data from AWS Logs API on localhost:8205
2022/03/01 12:29:37 Received event: {
	"eventType": "INVOKE",
	"deadlineMs":<PHONE_NUMBER>937,
	"requestId": "cc7ce684-cb0b-4002-8545-6ffc32a44caf",
	"invokedFunctionArn": "arn:aws:lambda:eu-central-1:627286350134:function:main_unit_test",
	"tracing": {
		"type": "",
		"value": ""
	}
}
2022/03/01 12:29:37 Checking for agent data
2022/03/01 12:29:37 No agent data on buffer
2022/03/01 12:29:37 Unexpected stop on Logs API Http Server: listen tcp <IP_ADDRESS>:8205: bind: address already in use
2022/03/01 12:29:37 Received log event platform.start
2022/03/01 12:29:37 Adding agent data to buffer to be sent to apm server
2022/03/01 12:29:37 Adding agent data to buffer to be sent to apm server
2022/03/01 12:29:37 Received log event platform.runtimeDone
2022/03/01 12:29:37 Received runtimeDone event for this function invocation
2022/03/01 12:29:37 Received runtimeDone signal
2022/03/01 12:29:37 APM server response body:
2022/03/01 12:29:37 APM server response status code: 202
--- FAIL: TestSeveralTransactions (0.00s)
panic: sync: WaitGroup is reused before previous Wait has returned [recovered]
	panic: sync: WaitGroup is reused before previous Wait has returned

goroutine 114 [running]:
testing.tRunner.func1.2({0x12adc60, 0x13715a0})
	/var/lib/jenkins/workspace/ibrary_apm-aws-lambda-mbp_PR-136/.gvm/versions/go1.17.darwin.amd64/src/testing/testing.go:1209 +0x24e
testing.tRunner.func1()
	/var/lib/jenkins/workspace/ibrary_apm-aws-lambda-mbp_PR-136/.gvm/versions/go1.17.darwin.amd64/src/testing/testing.go:1212 +0x218
panic({0x12adc60, 0x13715a0})
	/var/lib/jenkins/workspace/ibrary_apm-aws-lambda-mbp_PR-136/.gvm/versions/go1.17.darwin.amd64/src/runtime/panic.go:1038 +0x215
sync.(*WaitGroup).Wait(0xc00040fe38)
	/var/lib/jenkins/workspace/ibrary_apm-aws-lambda-mbp_PR-136/.gvm/versions/go1.17.darwin.amd64/src/sync/waitgroup.go:132 +0xa5
elastic/apm-lambda-extension.main()
	/private/var/lib/jenkins/workspace/ibrary_apm-aws-lambda-mbp_PR-136/src/github.com/elastic/apm-aws-lambda/apm-lambda-extension/main.go:197 +0x89e
elastic/apm-lambda-extension.TestSeveralTransactions(0xc00003cf10)
	/private/var/lib/jenkins/workspace/ibrary_apm-aws-lambda-mbp_PR-136/src/github.com/elastic/apm-aws-lambda/apm-lambda-extension/main_test.go:205 +0x1b7
testing.tRunner(0xc0003a6340, 0x1326510)
	/var/lib/jenkins/workspace/ibrary_apm-aws-lambda-mbp_PR-136/.gvm/versions/go1.17.darwin.amd64/src/testing/testing.go:1259 +0x102
created by testing.(*T).Run
	/var/lib/jenkins/workspace/ibrary_apm-aws-lambda-mbp_PR-136/.gvm/versions/go1.17.darwin.amd64/src/testing/testing.go:1306 +0x35a

Test / Matrix - PLATFORM = 'ubuntu-18 && immutable', GO_VERSION = '1.17' / Test / TestFlush – elastic/apm-lambda-extension

Expand to view the error details
 Failed

Expand to view the stacktrace
 === RUN   TestFlush
2022/03/01 20:32:39 Flush Test
2022/03/01 20:32:39 b03a29ec-ee63-44cd-8e53-3987a8e8aa8e
2022/03/01 20:32:39 Register response: {
	"functionName": "UnitTestingMockLambda",
	"functionVersion": "$LATEST",
	"handler": "main_test.mock_lambda"
}
2022/03/01 20:32:39 Could not read ELASTIC_APM_DATA_RECEIVER_TIMEOUT_SECONDS, defaulting to 15: strconv.Atoi: parsing "": invalid syntax
2022/03/01 20:32:39 Extension listening for apm data on :8200
2022/03/01 20:32:39 Waiting for next event...
2022/03/01 20:32:39 Server listening for logs data from AWS Logs API on localhost:8205
2022/03/01 20:32:39 Unexpected stop on Logs API Http Server: listen tcp <IP_ADDRESS>:8205: bind: address already in use
2022/03/01 20:32:39 Received event: {
	"eventType": "INVOKE",
	"deadlineMs":<PHONE_NUMBER>314,
	"requestId": "415f9954-3cf2-4455-9621-a233a44c32c8",
	"invokedFunctionArn": "arn:aws:lambda:eu-central-1:627286350134:function:main_unit_test",
	"tracing": {
		"type": "",
		"value": ""
	}
}
2022/03/01 20:32:39 Checking for agent data
2022/03/01 20:32:39 No agent data on buffer
2022/03/01 20:32:39 Received log event platform.start
2022/03/01 20:32:40 Adding agent data to buffer to be sent to apm server
2022/03/01 20:32:40 Received agent done signal
2022/03/01 20:32:40 Received log event platform.runtimeDone
2022/03/01 20:32:40 Received runtimeDone event for this function invocation
2022/03/01 20:32:40 APM server response body:
2022/03/01 20:32:40 APM server response status code: 202
2022/03/01 20:32:40 Checking for agent data
2022/03/01 20:32:40 No agent data on buffer
2022/03/01 20:32:40 Waiting for next event...
2022/03/01 20:32:40 funcDone signal received, not processing any more agent data
panic: send on closed channel

goroutine 84 [running]:
elastic/apm-lambda-extension.main.func3()
	/var/lib/jenkins/workspace/ibrary_apm-aws-lambda-mbp_PR-136/src/github.com/elastic/apm-aws-lambda/apm-lambda-extension/main.go:170 +0x209
created by elastic/apm-lambda-extension.main
	/var/lib/jenkins/workspace/ibrary_apm-aws-lambda-mbp_PR-136/src/github.com/elastic/apm-aws-lambda/apm-lambda-extension/main.go:157 +0x6af

Steps errors
Expand to view the steps failures

Running Go tests

Took 0 min 5 sec . View more details here
Description: gotestsum --format testname --junitfile junit-report.xml -- -v ./...

Running Go tests

Took 0 min 7 sec . View more details here
Description: gotestsum --format testname --junitfile junit-report.xml -- -v ./...

Running Go tests

Took 0 min 6 sec . View more details here
Description: gotestsum --format testname --junitfile junit-report.xml -- -v ./...

Running Go tests

Took 0 min 8 sec . View more details here
Description: gotestsum --format testname --junitfile junit-report.xml -- -v ./...

Running Go tests

Took 0 min 7 sec . View more details here
Description: gotestsum --format testname --junitfile junit-report.xml -- -v ./...

Running Go tests

Took 0 min 8 sec . View more details here
Description: gotestsum --format testname --junitfile junit-report.xml -- -v ./...

:robot: GitHub comments
To re-run your PR in the CI, just comment with:

/test : Re-trigger the build.

run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)

I added success/failure assertions in 41a8039. For most tests, I check if the extension does not panic and if APM data is correctly sent to the APM server.

@estolfo Thank you for the review ! Your two suggestions have been addressed in 0f58cb5


Camera OP Broken

Currently broken.
Edits - check capitalization of all methods
When checking pars, make sure to check op type, not just the par itself.

This particular issue is resolved, but there are some other oddities.


UX/UI - Manipulation Handler

This epic aggregates the planned GA work for Manipulation Handler.

Closing out GA epics


[TW#17078] ble_ibeacon IBEACON_SENDER (ESP-IDF Pre-release 3.0-rc1)

HI all;
Use ble_ibeacon demo code in example (IBEACON_SENDER)  I try to send ibeacon adv.
After burning and reboot i can receive the device adv with my iphone, but adv data is empty.
if I change the company id,then I can see the adv data ,but i know this isn't iBeacon.

@Daivyge , Please do not use nRF connect or LightBlue in IOS. I have tried it, the application in IOS cannot recognize the IBeacon. But  nRF connect on Android can recognize it. I have tried with ESP32 IBeacon demo and other device named RadBeacon. I don't know why the application in IOS cannot recognize it, I guess that the company doesn't register IBeacon service with Apple.

@TianHao-Espressif ,
OK, I get it.
Thanks very much.


update code to use apikey

Changed app.py and deployment yaml to use IBM Cloud apikey to authenticate.

@dcberg can you modify the Makefile so the version string is v1.1 - for both v2 and v1 dirs?

@duglin is it just the guestbook/v2/analyzer/Makefile?

ah sorry - for some reason I thought the code being touched was in guestbook itself. Yes I think its just the v2/analyzer/Makefile

btw - I'm going to add a top-level Makefile that will build and push all lower-level images - kind of annoying having to cd around and do each individually

merging as Doug has created the top level file now :)

@linsun we still need the edits to the analyzer Makefile since the top-level Makefile just calls the lower-level one.


"colormgr get-devices" shows no output devices for wayland

I would love using hyprland for work but this requires the installation of color correction profiles. For wayland this should be possible with "colormgr set-device-profile deviceID profileID". But not in hyprland. The command "colormgr get-devices" shows no connected devices or displays.

You are posting on the hyprland wiki issue tracker. Wrong place, you may want to post in the hyprland issue tracker or maybe in the discussions tab.


add segformer example implementation

so far this is blocked on:

https://github.com/ml-explore/mlx/issues/100
because conv2d groups param is needed

Awesome! Would be great if you can comment on that PR re groups and dilation so we can get a sense of priority

Given the age of this PR and that we have SAM already, let's close it. Would be happy to point to an external repo with an implementation if you pick it back up!


Add configuration templating

We now support templating in our configuration files using the Tera engine.
{
    "target": {
        "path": "{{ get_env(name="TARGET", default="pod/fallback") }}"
    }
}

Closes #1817

One important issue - we parse config files in the extensions. Tera is based on Jinja2/Django templates, but it's not fully compatible: ...does not aim to be 100% compatible with them. We need to ensure the configs are valid jsons/yamls/tomls

other approach would be to add another command to cli, which would read the config and transform it into plain json

We've added something along those lines, currently only for the target config.


Add system characteristics for Trillium

@markblee could you please approve CI so we can get this merged?


Feature Request: Universal notification by just giving ability to feed it a bash script?

Some use gotify, some use ntfy, some use telegram, some use matrix, some use pushbulet, some use signal(me).
I think most of these use just curl. So maybe to either through config and text area. With test button.
Or also bind mount a script with specific name and at specific location..
This might solve some issues with people wanting their kind of notifications?

Some use gotify, some use ntfy, some use telegram, some use matrix, some use pushbulet, some use signal(me).
I think most of these use just curl. So maybe to either through config and text area. With test button. Or also bind mount a script with specific name and at specific location..
This might solve some issues with people wanting their kind of notifications?

This app uses Shoutrrr for notifications, which supports almost everything people use. If not, there is a Generic Webhook option, please read the documentation.
I'll think about adding the button to test notifications though


Feature Request: optionally import test sets via tar file instead of download

Our research network doesn't have internet connectivity - it would be nice to import a test set via tar file when 'offline'.

You could just use the --download option first, and then tar up your ~/.sacrebleu directory. This will accomplish the same thing.

Ok that would work!


Cannot connect from remote browser

The example does not work if I open a browser on a remote computer.
The page loads fine but the sockio connection fails.

Are you talking about https://github.com/capaj/Moonridge/tree/master/test/e2e-smoketest ? Have you changed the url in https://github.com/capaj/Moonridge/blob/master/test/e2e-smoketest/showcase.js#L97 the example to point to the remote computer?

Yeap, changing the url did the trick, thanks.


support clickhouse-backup by operator

Do we have plans to support cluster backup and restore functionality with built-in clickhouse-backup?
I have some ideas for this, and if you feel it fits, I will start coding and Pull requests.
Here are my thoughts, look forward to your reply.

Add ClickHouse-Backup container to the pod and expose some backup configuration. (By adding some CHI configuration or just use pod templates).
Add a CRD named 'ClickHouseBackup'.
When we deploy  a ClickHouseBackup CR, operator will create a Kubernetes Job / CronJob for the backup task.
Because ClickHouse-Backup does not support automatic cluster backup, we need to do some work with Kubernetes Job so that it works for cluster.
Add several CHI configurations so that we can require recovery from backups when create cluster.

We already have some examples how to use clickhouse-backup together with clickhouse-operator
https://github.com/Altinity/clickhouse-backup/blob/master/Examples.md#how-to-use-clickhouse-backup-in-kubernetes
Could you explain what exactly do you mean when say cluster backup?

Your approach looks promising!
feel free to make PRs

@Slach
What I mean is that the deployment of Job / CronJob is automatically performed by the operator. We only need to specify the address (CHI, namespace) of the cluster we want to backup when deploying the clickhousebackup CR.
At the same time, In my opinion, in this example https://github.com/Altinity/clickhouse-backup/blob/master/Examples.md#how-to-use-clickhouse-backup-in-kubernetes, we assume that the replicas in the shard only use replicatedMergeTree, so we only need to select one node in the shard for backup. Is it right?
This backup is problematic if we use a Distributed + MergeTree replica scheme, or if some nodes only have local tables.
So when I deal with cluster backups, I do backups on all nodes. But for replicas in the same shard, I would only choose one replica to backup replicatedMergeTree 's table data. So I need also to submit a PR to clickhouse-backup to support filter table by engine when backup.
This is my idea, feel free to enlighten me.

we assume that the replicas in the shard only use replicated*MergeTree, so we only need to select one node in the shard for backup. Is it right?

Yes, but first replicas from shard selected only for example
we can select all replicas instead of first one
I think we can define clickhouse-backup CronJob related configurations and schedule rules inside spec field for kind: ClickHouseBackup custom resource

So I need also to submit a PR to clickhouse-backup to support filter table by engine when backup.
PR to clickhouse-backup with e2e tests also welcome!

Thanks. I will start coding for this.

Hi,
I've setup an automated incremental backup on GCS. But now I want to try to restore it to another clickhouse instance.
Is it possible ? Can you add an example in the documentation how to do this ?

@seuf  look https://github.com/Altinity/clickhouse-backup/commit/864bdb3ed76bd8a77017f5436154d058991ba75b
you could use kind: Job for one time restore
# example to restore latest backup
apiVersion: batch/v1
kind: Job
metadata:
  name: clickhouse-backup-restore
spec:
  backoffLimit: 0
  template:
    metadata:
      name: clickhouse-backup-restore
      labels:
        app: clickhouse-backup-restore
    spec:
      restartPolicy: Never
      containers:
      - name: clickhouse-backup-restore
        image: clickhouse/clickhouse-client:latest
        imagePullPolicy: IfNotPresent
        env:
          # use all replicas in each shard to restore schema
          - name: CLICKHOUSE_SCHEMA_RESTORE_SERVICES
            value: chi-test-backups-default-0-0,chi-test-backups-default-0-1,chi-test-backups-default-1-0,chi-test-backups-default-1-1
          # use only first replica in each shard to restore data
          - name: CLICKHOUSE_DATA_RESTORE_SERVICES
            value: chi-test-backups-default-0-0,chi-test-backups-default-1-0
          - name: CLICKHOUSE_PORT
            value: "9000"
          - name: BACKUP_USER
            value: backup
          - name: BACKUP_PASSWORD
            value: "backup_password"

        command:
        - bash
        - -ec
        - if [[ "" != "$BACKUP_PASSWORD" ]]; then
            BACKUP_PASSWORD="--password=$BACKUP_PASSWORD";
          fi;
          declare -A BACKUP_NAMES;
          CLICKHOUSE_SCHEMA_RESTORE_SERVICES=$(echo $CLICKHOUSE_SCHEMA_RESTORE_SERVICES | tr "," " ");
          CLICKHOUSE_DATA_RESTORE_SERVICES=$(echo $CLICKHOUSE_DATA_RESTORE_SERVICES | tr "," " ");
          for SERVER in $CLICKHOUSE_SCHEMA_RESTORE_SERVICES; do
            LATEST_BACKUP_NAME=$(clickhouse-client -q "SELECT name FROM system.backup_list WHERE location='remote' AND desc NOT LIKE 'broken%' ORDER BY created DESC LIMIT 1 FORMAT TabSeparatedRaw" --host="$SERVER" --port="$CLICKHOUSE_PORT" --user="$BACKUP_USER" $BACKUP_PASSWORD);
            if [[ "" == "$LATEST_BACKUP_NAME" ]]; then
              echo "Remote backup not found for $SERVER";
              exit 1;
            fi;
            BACKUP_NAMES[$SERVER]="$LATEST_BACKUP_NAME";
            clickhouse-client -mn --echo -q "INSERT INTO system.backup_actions(command) VALUES('restore_remote --schema --rm ${BACKUP_NAMES[$SERVER]}')" --host="$SERVER" --port="$CLICKHOUSE_PORT" --user="$BACKUP_USER" $BACKUP_PASSWORD;
          done;
          for SERVER in $CLICKHOUSE_SCHEMA_RESTORE_SERVICES; do
            while [[ "in progress" == $(clickhouse-client -mn -q "SELECT status FROM system.backup_actions WHERE command='restore_remote --schema --rm ${BACKUP_NAMES[$SERVER]}' ORDER BY start DESC LIMIT 1 FORMAT TabSeparatedRaw" --host="$SERVER" --port="$CLICKHOUSE_PORT" --user="$BACKUP_USER" $BACKUP_PASSWORD) ]]; do
              echo "still in progress ${BACKUP_NAMES[$SERVER]} on $SERVER";
              sleep 1;
            done;
            RESTORE_STATUS=$(clickhouse-client -mn -q "SELECT status FROM system.backup_actions WHERE command='restore_remote --schema --rm ${BACKUP_NAMES[$SERVER]}'  ORDER BY start DESC LIMIT 1 FORMAT TabSeparatedRaw" --host="$SERVER" --port="$CLICKHOUSE_PORT" --user="$BACKUP_USER" $BACKUP_PASSWORD);
            if [[ "success" != "${RESTORE_STATUS}" ]]; then
              echo "error restore_remote --schema --rm ${BACKUP_NAMES[$SERVER]} on $SERVER";
              clickhouse-client -mn --echo -q "SELECT start,finish,status,error FROM system.backup_actions WHERE command='restore_remote --schema --rm ${BACKUP_NAMES[$SERVER]}'" --host="$SERVER" --port="$CLICKHOUSE_PORT" --user="$BACKUP_USER" $BACKUP_PASSWORD;
              exit 1;
            fi;
            if [[ "success" == "${RESTORE_STATUS}" ]]; then
              echo "schema ${BACKUP_NAMES[$SERVER]} on $SERVER RESTORED";
              clickhouse-client -q "INSERT INTO system.backup_actions(command) VALUES('delete local ${BACKUP_NAMES[$SERVER]}')" --host="$SERVER" --port="$CLICKHOUSE_PORT" --user="$BACKUP_USER" $BACKUP_PASSWORD;
            fi;
          done;
          for SERVER in $CLICKHOUSE_DATA_RESTORE_SERVICES; do
            clickhouse-client -mn --echo -q "INSERT INTO system.backup_actions(command) VALUES('restore_remote --data ${BACKUP_NAMES[$SERVER]}')" --host="$SERVER" --port="$CLICKHOUSE_PORT" --user="$BACKUP_USER" $BACKUP_PASSWORD;
          done;
          for SERVER in $CLICKHOUSE_DATA_RESTORE_SERVICES; do
            while [[ "in progress" == $(clickhouse-client -mn -q "SELECT status FROM system.backup_actions WHERE command='restore_remote --data ${BACKUP_NAMES[$SERVER]}' ORDER BY start DESC LIMIT 1 FORMAT TabSeparatedRaw" --host="$SERVER" --port="$CLICKHOUSE_PORT" --user="$BACKUP_USER" $BACKUP_PASSWORD) ]]; do
              echo "still in progress ${BACKUP_NAMES[$SERVER]} on $SERVER";
              sleep 1;
            done;
            RESTORE_STATUS=$(clickhouse-client -mn -q "SELECT status FROM system.backup_actions WHERE command='restore_remote --data ${BACKUP_NAMES[$SERVER]}'  ORDER BY start DESC LIMIT 1 FORMAT TabSeparatedRaw" --host="$SERVER" --port="$CLICKHOUSE_PORT" --user="$BACKUP_USER" $BACKUP_PASSWORD);
            if [[ "success" != "${RESTORE_STATUS}" ]]; then
              echo "error restore_remote --data ${BACKUP_NAMES[$SERVER]} on $SERVER";
              clickhouse-client -mn --echo -q "SELECT start,finish,status,error FROM system.backup_actions WHERE command='restore_remote --data ${BACKUP_NAMES[$SERVER]}'" --host="$SERVER" --port="$CLICKHOUSE_PORT" --user="$BACKUP_USER" $BACKUP_PASSWORD;
              exit 1;
            fi;
            echo "data ${BACKUP_NAMES[$SERVER]} on $SERVER RESTORED";
            if [[ "success" == "${RESTORE_STATUS}" ]]; then
              clickhouse-client -q "INSERT INTO system.backup_actions(command) VALUES('delete local ${BACKUP_NAMES[$SERVER]}')" --host="$SERVER" --port="$CLICKHOUSE_PORT" --user="$BACKUP_USER" $BACKUP_PASSWORD;
            fi;
          done

Not sure why this was closed. Seems like the operator should provide more of a seamless backup / restore experience, as other operators tend to do. Maybe I missed some new feature providing this functionality?
At operator-hub this operator claims a "Full Lifecycle" level feature set (https://operatorhub.io/operator/clickhouse). The definition of Full Lifecycle is that the operator should handle backup / restores: https://sdk.operatorframework.io/docs/overview/operator-capabilities/#level-3---full-lifecycle

Thanks for the link, we can certainly use this documentation to arrange for backups.
At the same time, I don't think us manually implementing a sidecar process or cronjob using documentation from a separate project fulfils the idea of the clickhouse-operator managing the backup / restore process for us.
Tighter integration including CRD definitions to enable backups could be a nice improvement.

@dbackeus don't be shy to make pull request, we open to contributions


Removed patch for drupal/subrequests

Removed patch for drupal/subrequests "Subrequest failed validation" because it is fixed in subrequests module.

Thank you.
Let's also remove the patch section from the quick start doc as well?
https://github.com/chapter-three/next-drupal/blob/main/www/docs/quick-start.mdx

Thanks! Will be great to sync this update with version of the module on drupal.org, because old patch section breaks composer builds.

I just tagged 1.0.0-beta5 with the fix. Thank you.


Migrate to nullable

New Issue Checklist

[x] I have searched for a similar issue in the project and found none

Issue Description and Steps
Lets migrate to flutter 2 with nullable
https://dart.dev/null-safety/migration-guide#step1-wait

Beta version is already available here.
#1073 stable release will be available within a week according to dev
Cheers

please support sound null safety

?


Cannot select one month in the past.

Any day in the current month can be selected, however not in the previous month.
Expectation:
Daily plan view: display the previous calender month.
Monthly plan view: dito
Production plan view: dito
Exception:
The previous month does not exist in the database.

Fixed issue. Examples (screenshots) for today=03.03.2016 and a database with two working months;
February and March.
Example1: choose monthly plan, formerly the choice February was not available,

Example2: display monthly plan list, formerly the month February was not displayed

Example3: display production plan list, formerly the month February was not displayed

Example4: display daily plan calender, formerly the month February was not displayed
(today = 03.03.2016)