Not showing next message if only mark as read.

Step 1: Describe your environment

Xcode version: 13.14.1
Firebase SDK version: 8.8.0
Installation method: CocoaPods
Firebase Component: Messaging
Target platform(s): iOS

Step 2: Describe the problem
We are implementing FIRInAppMessagingDisplay to create custom UI for InAppMessage.
We found a problem with Card message.
When we have a stack of messages, we stuck when a Card message arrives. And after shows Card message no messages shows up
Steps to reproduce:
Have one event called screen_event and 3 messages bind to it, message A of type ImageOnly, message B of typeCard and message C of type Banner.

We trigger the event screen_event when screen get focused. The message A of type ImageOnly is showed and we call impressionDetectedForMessage for it. After that user dismissed or clicked on message.
After while we trigger the screen_event again and the B message is showed and we call impressionDetectedForMessage for it. Our custom component for message of type Card are showed embed to layout, i.e., there is no dismiss button. The user do not interact with the message, once is embeded on layout he scroll the screen for example.
After while we trigger again the event screen_event, but the message C is not showed.

The problem is that after message B of type Card shows up, next message are not showed. But if user interact with message B of type Card and we call messageClicked everything works. And if we trigger the event screen_event again the message C of type Banner shows up.
Seems like impressionDetectedForMessage not working with type Card. The flow of messages only works when call messageClicked for message of type Card for others types impressionDetectedForMessage works fine

Thanks for reaching out, @igorjacauna. To make sure that we're on the same page, could you provide a minimal repro or code snippet to see how all the 3 messages appear in your app? Also, is the issue reproducible using the latest version?

Hi @rizafran we discovery that the problem is with any type of message. If we only mark it as read, the next message does not shows up, only if we mark as clicked or dismissed.
Just for comparison of behavior, on Android the flow has no problem, the messages from stack show up when we trigger the event screen_event
Setup
I have configured 3 messages that has the event screen_event bind to each one:

Image Only
Card
Modal

On screen we hava a button that fire the event screen_event and when we shows a Card message, we shows a button that mark it as clicked
Explanation:
We click on button that fire the screen_event and the expected behavior is the messages shows up in order. But when Card shows up the flow stuck on it. And the 3rd message only shows if we mark the Card message as clicked.
Steps

Click on button to trigger screen_event
The Image Only shows up
Close the Image Only
Click on button to trigger screen_event
The Card shows up embedded to layout
Do nothing
Click on button to trigger screen_event
Nothing happen
Click on button to mark Card as clicked
Click on button to trigger screen_event
Modal shows up

Every time a message shows up we try to mark it as read. No error shows up on Console

Record

Thanks for sharing the steps, @igorjacauna. As mentioned, is it possible for you to provide a minimal repro that I can run locally or a code snippet on how you display the 3 types of messages? Also, is it reproducible using the latest SDK version?

Hi @rizafran, we tried with the latest SDK version and the problem is present there too.
In our code we have two classes:

InAppMessageDisplay: Receives the message from Firebase
InAppMessageManager: Handle which data and fire event to our ReactNative layer to shows the message

To clarify, we use this with ReactNative using Native Modules. And every time we receive a message we send it to ReactNative and when it is rendered on it we call markAsImpressionDetected and if we fire the event to get next message without call markAsClicked or markAsDismissed nothing is coming from Firebase. Only if we call markAsClicked or markAsDismissed. On Android this not happen, it works if we call only markAsImpressionDetected
In AppDelegate.m we set our custom Display class
InAppMessageDisplay *display = [[InAppMessageDisplay alloc] init];
[FIRInAppMessaging inAppMessaging].messageDisplayComponent = display;

InAppMessageDisplay
#import <Foundation/Foundation.h>
#import <Firebase.h>
#import "InAppMessageDisplay.h"
#import "InAppMessageManager.h"

NSString *const kFIRAppReady = @"FIRAppReadyToConfigureSDKNotification";

@implementation InAppMessageDisplay : NSObject

+ (void)load {
  [[NSNotificationCenter defaultCenter] addObserver:self
                                           selector:@selector(didReceiveConfigureSDKNotification:)
                                               name:kFIRAppReady
                                             object:nil];
}

+ (void)didReceiveConfigureSDKNotification:(NSNotification *)notification {

  InAppMessageDisplay *display = [[InAppMessageDisplay alloc] init];
  [FIRInAppMessaging inAppMessaging].messageDisplayComponent = display;
}

- (void)displayMessage:(FIRInAppMessagingDisplayMessage *)messageForDisplay
       displayDelegate:(id<FIRInAppMessagingDisplayDelegate>)displayDelegate {
  if ([messageForDisplay isKindOfClass:[FIRInAppMessagingModalDisplay class]]) {
    InAppMessageManager *emitter = [InAppMessageManager allocWithZone: nil];
    [emitter FIAMReceivedModal:messageForDisplay displayDelegate:displayDelegate];
  } else if ([messageForDisplay isKindOfClass:[FIRInAppMessagingBannerDisplay class]]) {
    InAppMessageManager *emitter = [InAppMessageManager allocWithZone: nil];
    [emitter FIAMReceivedBanner:messageForDisplay displayDelegate:displayDelegate];
  } else if ([messageForDisplay isKindOfClass:[FIRInAppMessagingImageOnlyDisplay class]]) {
    InAppMessageManager *emitter = [InAppMessageManager allocWithZone: nil];
    [emitter FIAMReceivedImageOnly:messageForDisplay displayDelegate:displayDelegate];
  } else if ([messageForDisplay isKindOfClass:[FIRInAppMessagingCardDisplay class]]) {
    InAppMessageManager *emitter = [InAppMessageManager allocWithZone: nil];
    [emitter FIAMReceivedCard:messageForDisplay displayDelegate:displayDelegate];
  }
}
@end

InAppMessageDisplay
#import <Foundation/Foundation.h>
#import <React/RCTLog.h>
#import "InAppMessageDisplay.h"
#import "InAppMessageManager.h"

@implementation InAppMessageManager

RCT_EXPORT_MODULE();

- (nullable FIRInAppMessagingDisplayMessage *)inAppMessage {
  return nil;
}

- (NSMutableDictionary *) displayDelegateDict {
    if (!_displayDelegateDict) {
      _displayDelegateDict = [NSMutableDictionary new];
    }
    return _displayDelegateDict;
}

- (NSMutableDictionary *) inAppMessageDict {
    if (!_inAppMessageDict) {
      _inAppMessageDict = [NSMutableDictionary new];
    }
    return _inAppMessageDict;
}

+ (id)allocWithZone:(NSZone *)zone {
    static InAppMessageManager *sharedInstance = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        sharedInstance = [super allocWithZone:zone];
    });
    return sharedInstance;
}

- (NSArray<NSString *> *)supportedEvents {
    return @[@"OnDisplayInAppMessage"];
}

RCT_EXPORT_METHOD(markAsImpressionDetected:(NSString *)messageId){
  if ([self.displayDelegateDict objectForKey:messageId]) {
    [[self.displayDelegateDict objectForKey:messageId] impressionDetectedForMessage:[self.inAppMessageDict objectForKey:messageId]];
  }
}

RCT_EXPORT_METHOD(markAsClicked:(NSString *)messageId){
  NSString *actionURL = @"";
  if ([[self.inAppMessageDict objectForKey:messageId] isKindOfClass:[FIRInAppMessagingModalDisplay class]]) {
    FIRInAppMessagingModalDisplay *message = [self.inAppMessageDict objectForKey:messageId];
    if (message.actionURL.absoluteString) {
      actionURL = message.actionURL.absoluteString;
    }
  } else if ([[self.inAppMessageDict objectForKey:messageId] isKindOfClass:[FIRInAppMessagingBannerDisplay class]]) {
    FIRInAppMessagingBannerDisplay *message = [self.inAppMessageDict objectForKey:messageId];
    if (message.actionURL.absoluteString) {
      actionURL = message.actionURL.absoluteString;
    }
  } else if ([[self.inAppMessageDict objectForKey:messageId] isKindOfClass:[FIRInAppMessagingImageOnlyDisplay class]]) {
    FIRInAppMessagingImageOnlyDisplay *message = [self.inAppMessageDict objectForKey:messageId];
    if (message.actionURL.absoluteString) {
      actionURL = message.actionURL.absoluteString;
    }
  } else if ([[self.inAppMessageDict objectForKey:messageId] isKindOfClass:[FIRInAppMessagingCardDisplay class]]) {
    FIRInAppMessagingCardDisplay *message = [self.inAppMessageDict objectForKey:messageId];
    if (message.primaryActionURL.absoluteString) {
      actionURL = message.primaryActionURL.absoluteString;
    }
  }
  if ([self.displayDelegateDict objectForKey:messageId]) {
    NSURL *url = [NSURL URLWithString:actionURL];
    FIRInAppMessagingAction *action =
            [[FIRInAppMessagingAction alloc] initWithActionText:nil
                                                      actionURL:url];
    [[self.displayDelegateDict objectForKey:messageId] messageClicked:[self.inAppMessageDict objectForKey:messageId] withAction: action];
  }
}

RCT_EXPORT_METHOD(markAsDismissed:(NSString *)messageId){
  if ([self.displayDelegateDict objectForKey:messageId]) {
    [[self.displayDelegateDict objectForKey:messageId] messageDismissed:[self.inAppMessageDict objectForKey:messageId] dismissType:FIRInAppMessagingDismissTypeAuto];
  }
}

- (void)FIAMReceivedModal: (FIRInAppMessagingModalDisplay *)inAppMessage
        displayDelegate:(id<FIRInAppMessagingDisplayDelegate>)displayDelegate {

  [self sendEventWithName:@"OnDisplayInAppMessage" body:@{
    @"type":@"Modal"
  }];
  self.displayDelegate = displayDelegate;
  [self.displayDelegateDict setObject:displayDelegate forKey:inAppMessage.campaignInfo.messageID];
  [self.inAppMessageDict setObject:inAppMessage forKey:inAppMessage.campaignInfo.messageID];
}

- (void)FIAMReceivedBanner: (FIRInAppMessagingBannerDisplay *)inAppMessage
        displayDelegate:(id<FIRInAppMessagingDisplayDelegate>)displayDelegate {
  [self sendEventWithName:@"OnDisplayInAppMessage" body:@{
    @"type":@"Banner"
  }];
  self.displayDelegate = displayDelegate;
  [self.displayDelegateDict setObject:displayDelegate forKey:inAppMessage.campaignInfo.messageID];
  [self.inAppMessageDict setObject:inAppMessage forKey:inAppMessage.campaignInfo.messageID];
}

- (void)FIAMReceivedImageOnly: (FIRInAppMessagingImageOnlyDisplay *)inAppMessage
        displayDelegate:(id<FIRInAppMessagingDisplayDelegate>)displayDelegate {
  [self sendEventWithName:@"OnDisplayInAppMessage" body:@{
    @"type":@"ImageOnly"
  }];
  self.displayDelegate = displayDelegate;
  [self.displayDelegateDict setObject:displayDelegate forKey:inAppMessage.campaignInfo.messageID];
  [self.inAppMessageDict setObject:inAppMessage forKey:inAppMessage.campaignInfo.messageID];
}

- (void)FIAMReceivedCard: (FIRInAppMessagingCardDisplay *)inAppMessage
        displayDelegate:(id<FIRInAppMessagingDisplayDelegate>)displayDelegate {
  [self sendEventWithName:@"OnDisplayInAppMessage" body:@{
    @"type":@"Card"
  }];
  self.displayDelegate = displayDelegate;
  [self.displayDelegateDict setObject:displayDelegate forKey:inAppMessage.campaignInfo.messageID];
  [self.inAppMessageDict setObject:inAppMessage forKey:inAppMessage.campaignInfo.messageID];
}

@end

Hi @igorjacauna, unfortunately, I'm unable to run the app because it looks for InAppMessageManager which I encountered multiple errors. If you could share the InAppMessageManager or if you can create another runnable app that can replicate the issue, that will be great. Thanks.

Hi @rizafran , to help you to reproduce the issue we create a React Native project that has exact architecture of our project and also has the reproducible issue.

Project: https://github.com/igorjacauna/ios-firebase-sdk-issue

To be more specific, the iOS code is on ios directory of the project
We put instructions on README but I will mention it here:

Please, before run configure Firebase project and save the GoogleService-Info.plist on ios directory
Create 2 or more messages on Firebase Console for iOS devices

iOS code
The iOS project and code are on ios directory
To run
yarn install

cd ios
pod install

cd ..
yarn ios

If have any error on build, open the ios directory on XCode and build it on XCode. After build try run yarn ios on root dir of project

Uninstall App
Every time we have to try receive again the messages we must uninstall the app before run yarn ios again
Code with workaround
On file App.js we have the logic about receive and mark as read or clicked the message.
If we click on button on screen, we receive a message. If we click again no one message are received.
To workaround we have to uncomment on line 42 of App.js. Remember to uninstall the app and run yarn ios again to start over to receive the messages

Thanks for the sample app, @igorjacauna. Unfortunately, I'm unable to run the app as I'm not familiar with React Native. However, I tried to create a simple app that uses native iOS SDK, and did the following:

Created 3 different campaigns
Clicked the button thrice to check if the campaign will be called
Observed that it works fine when not using custom FIAM

What happened is that my InAppMessagingDisplay protocol was being called only once. Could you confirm if the behavior is the same as yours?

Hi @rizafran , I'm working on the same project with @igorjacauna , I have tried to run the project without the custom FIAM class, indeed the problem doesn’t seem to happen in this condition, however for the porpoises of the project we're working on we need to use a custom FIAM class, considering this problem doesn’t occur without the custom class we realized that it may be a problem on our implementation of this class so we are doing some investigations, but just to make sure we're in the same page, this is the problematic behavior from the perspective of our custom class: In our custom class we created the method displayMessage we expect this method to be called when an event linked to a message is triggered, however for some reason when we have two or more messages linked to the same event the method is only called once no matter how much times we trigger the event linked to the messages unless we call the method messageClicked, once we call messageClicked to mark the first message as clicked and trigger the event again the method displayMessage will be called bringing a new message, So in summary looks like once the first message is shown the rest of the messages are being ignored unless we mark the first message as clicked, is it really what should be happening?

Thanks for clarifying, @Lucasfrota. It seems like we're encountering the same behavior. I'll inform the engineer about this to see if it's a bug or if something's missing in the code implementation.

Sorry for the delay in response. I just got an update from the engineer and it seems that the code you shared is working as expected. When the displayMessage method is called, FIAM considers the message as shown to the user until one of displayDelegate's messageDismissed, messageClicked, and displayError is called. Before this, FIAM refuses to show any more messages.
I'll be closing this ticket for now, but feel free to comment if you have any other questions.

Hello rizafran I'm the product manager working with @igorjacauna and Lucasfrota at the in app messing implementation. We felt extremelly surprised with your last comment in this thread about the behavior of iOS SDK, given the fact that at Android SDK seems to have the behavior which satisfied our expection about marking the messaging as delivered once it is displayed. Should the behavior of the same point beeing different on Android and iOS?
As I said before we based this expectation on Android but also on firebase documentation {compose a campaign -> Scheduling your message}:
By default, a campaign is not shown after it has been viewed by (that is, impressed on) the user once. Or, you can set the frequency of messages in days (Maximum 1 time per day)
We see some risks about assuming that on iOS SDK the user needs to "dismiss" or "click to interact":

We made tests and once a user has a message received and closes the app without interacting with it the queue of messaging don´t goes to next messaging as expectated, if I have others campaign aafter that they won't be shown as planned during the user journey;

If the user put the app in background after viewing the message if he return to the App he will view the same messaging breaking major rule of seeing one message at most once a day.

He need to understand if it is the behavior we should expect for iOS SKD because it creates a risk we didn´t mapped before based on Firebase In-app documentation and seems to be a no-go issue because of right risk of spamming our iOS users and ineffectiveness of our campaigns calendar.
It's high important to considerer that in-app messaging is one of the most important peaces of our strategy to growth the engagement of 10 million active users on Meliuz App and the partneship with the biggest retail ecommerces in Brazil.
Could you check the topics I broght in this comment and give us a feedback.

@Nsouza31 Thanks for the clarification. The behavior difference between Android and iOS is something that we've had in the backlog to address. We're still working out the plan and will update here when it's determined.

Hi @Nsouza31 ,
We had an internal discussion regarding the issue with our product managers and the outcome is that the iOS SDK is working as expected and for the Android SDK, it is a bug which we have added to our roadmap for fixing. In the mean time, we will consider this issue as a feature request.


RELATED: RAIL-2407: use HTTPS=true only for https hostnames

Build succeeded (check pipeline).

https://checklist.intgdc.com/job/client-libs/job/gooddata-create-gooddata-react-app-unit-tests-zuul-docker-el7/119/ : SUCCESS in 16s
https://checklist.intgdc.com/job/compliance/job/gooddata-create-gooddata-react-app-oss-check/101/ : SUCCESS in 3s

LGTM

Build succeeded (gate pipeline).

https://checklist.intgdc.com/job/compliance/job/gooddata-create-gooddata-react-app-merge-compliance-check/42/ : SUCCESS in 16s
https://checklist.intgdc.com/job/client-libs/job/gooddata-create-gooddata-react-app-unit-tests-zuul-docker-el7/120/ : SUCCESS in 50s
https://checklist.intgdc.com/job/compliance/job/gooddata-create-gooddata-react-app-fossa-scanning-zuul-el7/7/ : SUCCESS in 14s (non-voting)


[Bug] After reconnect characteristics cannot be subscribed

IF YOU DON'T ANSWER THIS TEMPLATE - THE BOT WILL AUTOMATICALLY CLOSE YOUR ISSUE!
Please check all of the platforms you are having the issue on (if platform is not listed, it is not supported)

[ ] iOS
[x] Android
[ ] UWP
[ ] .NET Standard

Version of Library
6.2.6 (latest stable)
Version of OS(s) listed above with issue
Android Pie (9). It's Android one version, no mod.
Device: Nokia 7 plus
Steps to Reproduce

Connect to a bluetooth device
Subscribe RX characteristic and do some write with a TX characteristic
Check it works
Power off the bluetooth device
Reconnect
Try to subscribe to the RX characteristics and do some write with a TX characteristic

Expected Behavior
After the reconnect all should works as the first connection
Actual Behavior
After the reconnection cannot read/write.
Extra info: after the reconnect if I try To subscribe a standard service (battery service) it throw:
"Object reference not set to an instance of an object"
I guess this is related to the #180
I attach my service (I remove some useless code, I hope it is useful. It is an unbound Android service)
ServiceAndroid.zip

Please provide a full stack trace.  This usually only happens when you've pinned a previous characteristic from another connection.  I definitely won't be looking through this entire file.  You have to provide small reproducible cases.

I will try to explain better the problem I face. Maybe (most likely) I do not understand something about your library.
Case:
I have a device with the standard service battery and a standard characteristic: battery level.
In my class I have two member:

a reference to the device
a IDisposable reference to the subscribe of the characteristic
I get a reference to the device through a Guid I get from a previous scan

CrossBleAdapter.Current.GetKnownDevice(id).Subscribe((device) =>
                {
                    this.device = device;
                    ManageConnectionToDevice();
                });

Now, in ManageConnectionDevice I do three thing:

subscribe to the deviceStatusChange observable.
connect to the device

This is the code inside the method:

device.WhenKnownCharacteristicsDiscovered(BatteryServiceGuid,
                                BatteryStandardChargeGuid).Subscribe((characteristic) => {
                                disposableReference = characteristic.RegisterAndNotify()
                                .Subscribe(result =>
                                            {
                                                //do something with the value
                                            })
                                });

device.WhenStatusChanged().Subscribe((status) => {

                if (status == ConnectionStatus.Disconnected)
                {
                              disposableReference.Dispose();

                }
}

device.Connect(new ConnectionConfig()
            {
                AutoConnect = true
            });
});

When the device is power off and power on (Disconnected and Connected) the subscribe
device.WhenKnownCharacteristicsDiscovered(batteryServiceGuid,
                                batteryStandardChargeGuid).Subscribe(//code)

trigger, but the inside subscrition
 characteristic.RegisterAndNotify().Subscribe(result =>
            {
                //do something with the value
            })

Do not trigger.
Same happen for a characteristic with write capability:
I hope I explain myself better.

I still need a full stack trace please

HI,
I cannot submit a full stack trace because it does not throw an exception nor it trigger an error in the subscribe.
However, in the device log I found this (after the reconnection)

12-05 10:58:08.678: E/BtGatt.GattService(25212): registerForNotification() - No connection for

I attach a small complete app (Android) that reproduce the problem
TestAppBluetooth.zip
Regards,

You said this in your first message:
Extra info: after the reconnect if I try To subscribe a standard service (battery service) it throw:
"Object reference not set to an instance of an object"
^^^ I'm looking for the full stack trace here
Honestly, just use ConnectHook if you are looking to auto-connect & hook a battery notification.  It will manage everything for you.

Unfortunately I have the same problem when using ConnectHook, I'm still trying to figure out what's going on but after the device returns online the notifications do not come back.

BY looking deeper into this the connectHook is working (i.e. when the device is autoconnected the registerandnotify are fired for all the characteristics) but then again the notifications are not emitting. I'll dig deeper if I can.

You said this in your first message:
Extra info: after the reconnect if I try To subscribe a standard service (battery service) it throw:
"Object reference not set to an instance of an object"
^^^ I'm looking for the full stack trace here
Honestly, just use ConnectHook if you are looking to auto-connect & hook a battery notification. It will manage everything for you.

Sorry, my bad. I forgot to update about it: I cannot reproduce the exception, only the problem about the missing notifications.
Do you check my example app? It reproduce the problem we talk about and I guess it's the same nexxuno report.
My example is about the standard battery service to keep the example itself simple.
The only extra information I got is the line I found in the Android Logcat. I'm sorry, but I do not find other informations.
In the meantime I will try connectHook
Thanks for the help.

@IfongaroScp no - I don't look at full apps.  I'll look at small chunks of code.  You should try the sample app with this repo to see if it works for you.

Hi
Thanks for the reply

I submit you the small chunks of code and a minimal app. So, you have all you need, use what you prefere. A fullstacktrace is not available, because I cannot reproduce the exception, but only the error. As I said, I have no other information.
Your sample app in this repository seems broken or corrupt. There are a ton of missing reference/double import, the iOS project have not the forms package and so on.

Thanks for the help.

Hello @aritchie,
you should be able to repro this by:
-connecting with connect hook to a device passing, let' say, 5 characteristics
-shutdown the device
-turn it back on
-notifications to do emit anything after the auto-recconnect
If you can't reproduce it this way maybe it's the android version or a problem with specific BT devices.

Hi @aritchie!
I'm having the same problem as @nexxuno, once I shutdown the device and turn it back on notifications aren't working. Using nRF app to hook into the same connection I've noticed that the notification aren't enabled at all. If I manually turn notifications on nRF, my app start working again(works on android 9, fails on android 5), meaning that the problem isn't receiving the notification but enabling them(at least for android 9). Another point to note is if I quickly turn the device off and on again the notifications are enabled once it reconnect. Hope it helps.
Cheers!

It will get fixed if/when I feel like it.  I don't have the issue so everyone can quit posting unless they are going to contribute a PR.

Hi,
After test and a lot of search a coworker of mine find a clue. It's not a library problem, but a characteristic of bluetooth in Android system, in other words: work as intended
I try to explain, but I'm not very skilled about bluetooth :-)
Android assign, under the hood, a property to the bluetooth devices when scan. This property is not the id we get from the scan (device.Id).
This property is stored only for paired devices, otherwise is lost when the user turn off the bluetooth.
So, if you use non-paired devices (like my app), you need to execute a new scan to ensure you have the correct property (the id you get from class Device is still valid). Better to set a timeout in this case.
Here a snippet:
                    CrossBleAdapter.Current.ScanUntilDeviceFound(idDevice).Timeout(timeout)
                    .Subscribe((device) => {
                        this.device = device;
                    }, onError: (error) => {
                        if (error is TimeoutException) //manage the type of exception
                        {

                        }
                    });

Obviously it's not very efficient, but I'm not very skilled.
Feel free to improve the approach, for my case this is enough.
Thanks to @aritchie for this library. 👍

I don't know if this bug should be closed or we should find a way to engineer this in the library itself. Maybe it doesn't make anysense? I'm thinking about connecthook for example. @aritchie any thoughts?


Update branch - Pacaur 5.0

Adapt commits from master: 01fd486 6803b7b 1c116b1 7d2c22b ac72629
Cherry-pick from master: a0c6f58

Ty!

Should we create an Issue/Project with points to complete before releasing version 5.0? That would help us to clarify the goals to achieve.

As a first step, you can use #633 to include a list of points to complete. I have myself no real idea of the amount of work involved here.


Question about overlap function invert = True

Hello,
I have two pyranges objects (d1 and d2). The first one contains 16 ranges and I want to get the ranges that do not overlap with the ranges in the second object, the problem is that the number of ranges that the function returns is not the expected:
d1.overlap(d2) #This returns 0 ranges (no overlap)
d1.overlap(d2, invert = True) #This returns 13 ranges
My question is, if there is no overlap, why is the function returning 13 instead of 16 ranges when I try to get the ranges that do not overlap?
Thanks,

Could you please post an example or send me the files you are using? Thanks
for reporting :)
On Friday, March 26, 2021, paolacornejo @.***> wrote:

Hello,
I have two pyranges objects (d1 and d2). The first one contains 16 ranges
and I want to get the ranges that do not overlap with the ranges in the
second object, the problem is that the number of ranges that the function
returns is not the expected:
d1.overlap(d2) #This returns 0 ranges (no overlap)
d1.overlap(d2, invert = True) #This returns 13 ranges
My question is, if there is no overlap, why is the function returning 13
instead of 16 ranges when I try to get the ranges that do not overlap?
Thanks,
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/biocore-ntnu/pyranges/issues/178, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEHURUVBS6NNWPVDB7KUQMLTFQD3JANCNFSM4Z2U3V6A
.

Note to self: this is actually something I could add a generative test for since it has an easy-to-test property.


Search by businessId returns full data. Uprn removed from return resu…

…lts.

Coverage increased (+0.3%) to 63.802% when pulling c73ee54768b84d7378fd76da7f82701797ef98bc on fix/vat_return into 4e349e9732e0885daa5592bc573cccb93531509e on develop.

Coverage increased (+5.7%) to 69.271% when pulling 6a530a5acd0b62b8cc398ce3cbac51a8facae3db on fix/vat_return into 4e349e9732e0885daa5592bc573cccb93531509e on develop.


Increment version for cognitiveservices releases

Increment version for cognitiveservices releases

Can one of the admins verify this patch?

Closing, as version naming is no longer correct.


Non-contemporaneous samples

All the dating framework assumes that samples are at time 0. At some point we may wish to revisti this, but it will considerably complicate the stats. For the moment, we probably just want to check in tsdate.date() that all sample nodes are at time 0.

Decided to tackle this today. My approach so far has been to determine which samples are modern and which are ancient. We don't have to change anything for the modern ones. For the ancient ones, we fix them to the time at which they appear in the inputted tree sequence. Then I modify the upward and downward algorithms to skip over them

Have you started? I'm thinking of re-working the hidden state matrix to only contain the non-fixed node info, and I think this will naturally deal with ancient samples too.

I have started, it's nearly there. Sounds like your solution will be more general, so I'll put what I have in a PR and you can take anything that's useful?

OK. Wht would be really useful is to think about how we might need to change the prior, but that's out of scope I think. However, for the moment we do need to adjust the prior calculator so that it only counts contemporanous samples in the conditional coalescent calcs. Do you want to do this or shall I?

p.s. the useful thing here will be the added tests, I think. So if you can work on those, that would be great.

I've added one test with internal samples so far, I'll add a few more. I can do the prior too if you want to work on changing the hidden state matrix to only contain non-fixed node info

Pushed what I have so far , which seems to work. Adding more tests now

@hyanwong and I talked about how to get the time of an ancient sample out of the tree sequence, given that the sample times are present in the SampleData file as individuals_time, which does not then follow through into the tree sequence. One promising option is to make a new function in tsdate that takes a SampleData file. See tskit #232.


interop requirements

two main things in each backend

in get_collections, interop requires that the collection be sorted.  This may be enforced elsewhere, but you never know how backends are storing data
added _pop_old_statuses

added backend config parameters

status_retention - how long to keep statuses around
run_cleanup_threads - enable/disable the cleanup threads _pop_old_statuses and _pop_expired_sessions - default is enabled (mostly for testing)

Codecov Report

Merging #157 (92415bc) into master (11d956e) will decrease coverage by 0.23%.
The diff coverage is 87.56%.

@@            Coverage Diff             @@
##           master     #157      +/-   ##
==========================================
- Coverage   95.21%   94.97%   -0.24%
==========================================
  Files          26       26
  Lines        2777     2927     +150
==========================================
+ Hits         2644     2780     +136
- Misses        133      147      +14

Impacted Files
Coverage Δ

medallion/common.py
84.02% <62.50%> (-2.80%)
:arrow_down:

medallion/backends/memory_backend.py
94.44% <69.23%> (-0.07%)
:arrow_down:

medallion/backends/base.py
76.38% <84.37%> (+8.82%)
:arrow_up:

medallion/test/test_backends.py
98.25% <91.11%> (-0.97%)
:arrow_down:

medallion/backends/mongodb_backend.py
90.67% <94.11%> (+0.54%)
:arrow_up:

medallion/__init__.py
94.50% <100.00%> (+6.62%)
:arrow_up:

medallion/scripts/run.py
97.82% <100.00%> (+0.09%)
:arrow_up:

medallion/test/base_test.py
98.11% <100.00%> (+0.19%)
:arrow_up:

medallion/test/data/initialize_mongodb.py
89.18% <100.00%> (+0.30%)
:arrow_up:

medallion/test/test_startup.py
100.00% <100.00%> (ø)

... and 13 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 11d956e...92415bc. Read the comment docs.


Small body's height makes Choises flipped and unsuable

I have small page with 2 controls, 1 of them is Choises. I expected the dropdown will be expanded to bottom side, but it is flipped and there is no space to work with it. See screenshot:
https://dl.dropboxusercontent.com/s/tcv5nhddypewrso/2017-10-08_15-07-11.png
If I set body's height to 1000px it works well.
Is it possible to fix? I can edit my css and set body's height, but I guess the Choises should not be linked to body's height.

Hi @tekord,
You can enforce the dropdown to go above or below by using the position config option :)

@jshjohnson thanks! Maybe add this info to doc?

It's here: https://github.com/jshjohnson/Choices#position ;)

@jshjohnson I mean write note about usage with small body height in https://github.com/jshjohnson/Choices#position section.


Adding RSS feed error .

Error accoured, when I adding the feed: http://sbilly.com/feed/
[Jul 26 02:28:11] Traceback (most recent call last):
File "/root/NewsBlur/utils/feed_fetcher.py", line 582, in process_feed_wrapper
ret_feed, ret_entries = pfeed.process()
File "/root/NewsBlur/utils/feed_fetcher.py", line 381, in process
self.feed.save(update_fields=['feed_title'])
File "/root/NewsBlur/apps/rss_feeds/models.py", line 222, in save
super(Feed, self).save(*args, **kwargs)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 546, in save
force_update=force_update, update_fields=update_fields)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/base.py", line 626, in save_base
rows = manager.using(using).filter(pk=pk_val)._update(values)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/query.py", line 605, in _update
return query.get_compiler(self.db).execute_sql(None)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py", line 1020, in execute_sql
cursor = super(SQLUpdateCompiler, self).execute_sql(result_type)
File "/usr/local/lib/python2.7/dist-packages/django/db/models/sql/compiler.py", line 846, in execute_sql
cursor.execute(sql, params)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/util.py", line 41, in execute
return self.cursor.execute(sql, params)
File "/usr/local/lib/python2.7/dist-packages/django/db/backends/mysql/base.py", line 120, in execute
return self.cursor.execute(query, args)
File "/usr/local/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 207, in execute
if not self._defer_warnings: self._warning_check()
File "/usr/local/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 117, in _warning_check
warn(w[-1], self.Warning, 3)
Warning: Incorrect string value: '\xE4\xB9\x8C\xE6\x89\x98...' for column 'feed_title' at row 1

You're going to want to use the sitecustomize.py directions to force utf-8 instead of ascii. Details are in the readme.

Thank you. After you mentioned sitecustomize.py, I found setup_python() in fabfile.py.
sudo('su -c 'echo "import sys; sys.setdefaultencoding(\\"utf-8\\")" > /usr/lib/python2.7/sitecustomize.py'')
But there is nothing about sitecustomize.py in https://github.com/samuelclay/NewsBlur/blob/master/README.md.

Sounds like a candidate for a pull request. If you add that to a reasonable section, I'll gladly accept it!


Change log level to something user-configurable

Currently:
Logging in the Tracker is done using our own Logger class: '/utils/Logger.java'. All logging is actioned based on whether or not the 'DEBUG_MODE' constant is set to true in the 'constants/TrackerConstants.java' class.

To turn off Tracker logging simply change this boolean to false.

Obviously having this as a constant is less than ideal...

This has been done in this ticket: https://github.com/snowplow/snowplow-android-tracker/issues/94
Closing as duplicate.


Terminal sends global key event with invalid VK code

Windows Terminal version
1.16.10261.0
Windows build number
10.0.19044.1766
Other Software
Snippet from a larger piece of software that was crashing on an assert:
#include <Windows.h>
#include <iostream>

// Implemented following the guidelines here:
// https://learn.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-kbdllhookstruct

LRESULT CALLBACK key_hook(int nCode, WPARAM wParam, LPARAM lParam)
{
    if (nCode < 0) {
        return CallNextHookEx(0, nCode, wParam, lParam);
    }

    auto& event_info = *(PKBDLLHOOKSTRUCT)lParam;

    // This assertion is triggering:
    // assert(event_info.vkCode > 0 && event_info.vkCode < 255);

    if (!(event_info.vkCode > 0 && event_info.vkCode < 255)) {
        std::cerr << "!!! event_info.vkCode out of range !!!\n";
        std::cerr << "event_info dump:\n";
        std::cerr << "    .time  = " << event_info.time << "\n";
        std::cerr << "    .flags = " << event_info.flags << "\n";
        std::cerr << "    .scanCode = " << event_info.scanCode << "\n";
        std::cerr << "    .vkCode = " << event_info.vkCode << "\n";
        std::cerr << "    .dwExtraInfo = " << event_info.dwExtraInfo << "\n";
        std::cerr << "wParam = " << wParam << "\n";
    }

    return CallNextHookEx(0, nCode, wParam, lParam);
}

int main() {
    HHOOK hk = SetWindowsHookEx(WH_KEYBOARD_LL, key_hook, 0, 0);
    if (!hk) {
        std::cerr << "SetWindowsHookEx failed\n";
        return 1;
    }
    for (;;) {
        MSG msg;
        BOOL status = GetMessage(&msg, 0, 0, 0);
        if (status == -1) {
            std::cerr << "fatal: GetMessage() returned -1" << std::endl;
            break;
        }
        else if (msg.message == WM_QUIT) {
            break;
        }
        else {
            TranslateMessage(&msg);
            DispatchMessage(&msg);
        }
    }
    UnhookWindowsHookEx(hk);
    return 0;
}

Steps to reproduce

Compile above: cl /c /EHsc hook.cpp && link hook.obj user32.lib
Run program as administrator so it can install the hook
Open terminal
Drag the single terminal tab outside of the window so it displays a cancel icon
Rarely, the program will print events like:

!!! event_info.vkCode out of range !!!
event_info dump:
    .time  = 196871921
    .flags = 18
    .scanCode = 0
    .vkCode = 0
    .dwExtraInfo = 0
wParam = 256
!!! event_info.vkCode out of range !!!
event_info dump:
    .time  = 197479750
    .flags = 18
    .scanCode = 0
    .vkCode = 0
    .dwExtraInfo = 0
wParam = 256

I haven't worked out how to reproduce this reliably yet. It seems to mostly occur after leaving terminal minimized for a while in the background then coming back to it then trying to drag a tab.
Expected Behavior
MSDN states here: "vkCode ... must be a value in the range 1 to 254."
https://learn.microsoft.com/en-us/windows/win32/api/winuser/ns-winuser-kbdllhookstruct?redirectedfrom=MSDN
Zero is also not listed on the VK code table here:
https://learn.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes
Based on this documentation, I would either expect an event to not be caught, or for an event to be caught that has a non-zero vkCode.
Actual Behavior
A key event with a VK code of zero is caught.

Found a reliable repro with Steam:

Open steam friends list
Drag terminal tab (doesn't need to be dragged anywhere in particular, just starting the drag is enough)
VK=0 event fires

Repeating the drag has no effect until the friends list is closed and reopened.

This doesn't sound like anything coming from our code. I suspect this is an artifact of the modern drag-drop platform itself. Lemme look up if there's a good place to file this feedback. Maybe the WASDK repo?
as an aside, I probably wouldn't assert on an invalid VK. I'd just ignore it. 0 seems like a pretty sensible "this was not actually a key event" message.

This issue was easily and immediately reproducible with Windows Terminal 1.16 but I'm having trouble reproducing it with the current main branch. Maybe the upgrade to WinUI 2.8 fixed it? Unless this is a fluke, I think this will be fixed in Windows Terminal Preview 1.18.

@jcmoyer You seeing this still with Terminal Preview 1.18/?


cannot ship logs to elasticsearch

Describe your issue here
I have created a cluster in AWS, and try to config the cluster to ship logs to es. I've tried aws es and es cloud service, neither worked, there is no error showing in the UI, but I can't find any new index in the es.

Useful
Info

Versions
Rancher v2.0.0 UI: v2.0.41

Access
local admin

Route
containers.index

Thanks. @zhaoyao91  Have you reset the password for user elastic in es cloud? I will check aws later.

well, i created es on es cloud, and it just gave me the credentials and told me to save and use it

We have tested in 2 environment. In my rancher server, I get such log
[ERROR] error updating ns cattle-logging status: Operation cannot be fulfilled on namespaces "cattle-logging": the object has been modified; please apply your changes to the latest version and try again

In another rancher server, we got such log:
2018-05-12 15:20:30 +0000 [warn]: #0 failed to flush the buffer. retry_time=6 next_retry_seconds=2018-05-12 15:20:59 +0000 chunk="56bfb266598fe0f6b11279aa4ae924d3" error_class=Elasticsearch::Transport::Transport::Errors::Unauthorized error="[401] "

401 auth failed, could you try your username and pass in curl, doc is here: https://www.elastic.co/guide/en/x-pack/current/http-clients.html

well, by looking though the logs of fluentd started by rancher, I found it didn't include the user and password in the settings
  <match c-47jrs:project-xjj7g.** project-custom.c-47jrs:project-xjj7g.**>
    @type elasticsearch
    include_tag_key true
    hosts "https://1b9d40cbaf442f26fab67523238d76de.us-west-2.aws.found.io:9243"
    reload_connections true
    logstash_prefix "test_Default"
    logstash_format true
    logstash_dateformat "%Y.%m.%d"
    type_name "container_log"
    ssl_verify true
    flush_interval 3s
    max_retry_wait 30
    disable_retry_limit
    num_threads 8
    buffer_type file
    buffer_path /fluentd/etc/buffer/project.c-47jrs:project-xjj7g.buffer
    buffer_queue_limit 128
    buffer_chunk_limit 256m
    slow_flush_log_threshold 40.0
    <buffer>
      @type file
      path /fluentd/etc/buffer/project.c-47jrs:project-xjj7g.buffer
      flush_thread_count 8
      flush_interval 3s
      retry_forever
      retry_max_interval 30
      chunk_limit_size 256m
      queue_limit_length 128
    </buffer>
  </match>
</ROOT>

Here is the doc of fluentd elastic search for user and password
https://github.com/uken/fluent-plugin-elasticsearch#user-password-path-scheme-ssl_verify

thank you so much, will check and update soon.

I can confirm this is not working on 2.0.1
I tried to also ship logs with http only to my own ES cluster, but still no logs.
Even the embedded es doesent log anything

I tried to ship logs to elasticsearch and syslog (using papertrailapp) both don't work, configuration is valid, it detects invalid config, but it doesn't actually start shipping off logs.

Okay so i spent the last 2½ day banging my head against the wall with this problem.
Im running my cluster on RancherOS so im not sure if this is a problem on other distros, but i would imagine so.
The problem for me, and maybe other is that fluentd needs to make symlinks from /var/lib/docker/containers to /var/log/containers which did not happen in my case, so therefore there was no data being sent to elastic
The solution for now in my case was doing the following: https://github.com/kubernetes/kubernetes/issues/52172#issuecomment-356085479
This is not a perfect solution at all, but it gotta do for now

I tested the workaround with the built-in fluentd but it doesn't seem to work.
I have a container if people are willing to try: registry.gitlab.rotate-it.be/kris/loglinker:latest
Source can be found here: https://gitlab.rotate-it.be/kris/loglinker/tree/master
There doesn't seem to be any logging output, there was initially since the script wasn't +x'd properly

For me the built-in was throwing all sorts of errors, so for now i followed the fluentd example https://docs.fluentd.org/v0.12/articles/kubernetes-fluentd

I'm facing the same issues. I've checked my nodes and /var/log/containers exists, but it's empty.

/var/log/containers is symlink create by k8s, could you check whether the symlink create? The symlink may like below.
ls -l /var/log/containers
cattle-cluster-agent-9fbb7557c-9zf97_cattle-system_cluster-register-01b358eb220bc17b72c8f22109fba8b9ae7948d91adb30f39a639a437064e5af.log -> /var/log/pods/ada285eb-5e85-11e8-83c1-080027e09ef7/cluster-register_245.log
/var/log/pods/ada285eb-5e85-11e8-83c1-080027e09ef7/
ls -l cluster-register_245.log
cluster-register_246.log -> /var/lib/docker/containers/ca81addafdc09602560c9576ec1605f19f9e8ad12222bfa9024ac23dddcfbe88/ca81addafdc09602560c9576ec1605f19f9e8ad12222bfa9024ac23dddcfbe88-json.log

Hi, for platforms like RancherOS and boot2docker, it may mount in different place, we will check and support for RancherOS and boot2docker.
Could you check whether is have symlink under:
RancherOS: /opt/rke/var/log/containers
Boot2Docker: /mnt/sda1/rke/var/log/containers

Just as @aiwantaozi mentioned, it seems it's indeed an issue with the path. I'm using RancherOS as well.

Great, yep, there they are, I will try the workaround again with that directory:

This was a machine created by rancher OS, sort of expected it to know out of the box where the logs are located. I assume there will need to be some sort of log directory detection mechanism that will have to be implemented?

So how can we change the path of the embedded elastic search logging to this path?
And is rancher not testing on there own distro?

I changed the workaround to use the proper host path on boot2docker:
kind: DaemonSet
apiVersion: extensions/v1beta1
metadata:
  name: log-linker
  namespace: kube-system
  labels:
    app: log-linker
spec:
  selector:
    matchLabels:
      app: log-linker
  template:
    metadata:
      labels:
        app: log-linker
    spec:
      containers:
      - name: log-linker
        image: registry.gitlab.rotate-it.be/kris/loglinker:latest
        command:
        - /log-linker.sh
        volumeMounts:
        - name: var-lib-docker
          mountPath: /var/lib/docker
        - name: var-log
          mountPath: /var/log
      volumes:
      - name: var-log
        hostPath:
          path: /mnt/sda1/rke/var/log
      - name: var-lib-docker
        hostPath:
          path: /var/lib/docker

I can see the log files in an interactive shell on the deamonset, but it still does not ship them.

I'm experience the exact same issue on the same version trying to ship logs to elastic search. I keep seeing this error in my Docker logs for the rancher host could it be related?
error updating ns cattle-logging status: Operation cannot be fulfilled on namespaces "cattle-logging": the object has been modified; please apply your changes to the latest version and try again

https://github.com/rancher/rke/issues/662

@zhaoyao91  did you solved it? i have the same issue

@jiuchongxiao yes, I have solved it by not using rancher

a workaround in the cloudconfig for RancherOS.
#cloud-config
ssh_authorized_keys:
- <SSH_AUTHORIZED_KEYS>
write_files:
  - path: /etc/rc.local
    permissions: "0755"
    owner: root
    content: |
      #!/bin/bash
      rm -rf /var/log/containers /var/log/pods /var/lib/rancher/rke/log
      ln -s /opt/rke/var/log/containers /var/log/containers
      ln -s /opt/rke/var/log/pods /var/log/pods
      mkdir -p /var/lib/rancher/rke
      ln -s /opt/rke/var/lib/rancher/rke/log /var/lib/rancher/rke/log
      wait-for-docker
      <DOCKER_REG_COMMAND>
rancher:
  docker:
    engine: docker-17.03.2-ce

This issue has been resolved within RKE but still persists with clusters created by the UI.
https://github.com/rancher/rke/issues/662

If docker root is not default /var/lib/docker, you could config it in the cluster option now.  And rke also make the symbol link for /var/log/containers/ /var/log/pods/ and /var/lib/docker. You can try the new version to check whether it work.

Related PR: https://github.com/rancher/rancher/pull/14667
You can config custom docker root in the cluster option page.

Close in favour of https://github.com/rancher/rancher/issues/13304


Simplify by dropping cache_args.

Though there were not enough pull request on this repo :p

The thing is, if we remove cache args, then some fonctionnality will break because excluded items are in the cache

I don't see how it's possible, can you please provide a minimal reproductible example of what would break?

So, the idea is, when you use the cache, the arguments passed in the exclude are also not included in the cache, so if you run potodo --exclude c-api/ then run potodo the c-api still won't be here. I need to test this, gimme a sec

Ok well I got lost in my git config but it seems it work !


ENYO-6347: Sinhala text overlaps in Notification popup

Checklist

[x] I have read and understand the contribution guide

[x] A CHANGELOG entry is included

[ ] At least one test case is included for this feature or bug fix

[ ] Documentation was added or is not needed

[ ] This is an API breaking change

Issue Resolved / Feature Added
I found this problem while testing translated text.
Notification popup use line-height of BodyText, not Popup's.
Thus, the line-height is calculated as px (rem). I think it should be changed in 'em' units.
When I changed the locale to a non-Latin language, the line-height did not change in 'em' units.
Resolution
I fixed CSS line-height to use em unit for non-Latin locales.
Links
ENYO-6347

Is it a good way to fix it?

We need to be careful when switching a line-height from px to em. We always prefer em for measuring the height of text, which means that if it's set to a px value, it's very likely that was done for a specific reason. We should look into why it was set to px in the first place and evaluate whether that logic is still important to us (if a reason can be determined). As an example, Item's line-height was/is set to a px value so the rendered result is always the correct pixel size for lists and layouts. Changing this to an em value could have detrimental effects in several scenarios.


Missing AceTime.h

When I tried to compile, I got an error message.  I also got a bunch of Multiple Libraries warnings.  I suspect the multiple libraries were due to my trying to install other versions of the watch programs.  I can delete the multiple libraries but where do I get the AceTime.h?
Arduino: 1.8.10 (Windows 10), Board: "TTGO T-Watch, Enabled, Default (2 x 6.5 MB app, 3.6 MB SPIFFS), 2000000, None"
DudleyWatch:26:21: error: AceTime.h: No such file or directory
compilation terminated.
Multiple libraries were found for "SPIFFS.h"
Used: C:\Users\Bill\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\SPIFFS
Multiple libraries were found for "WiFi.h"
Used: C:\Users\Bill\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\WiFi
Not used: C:\Program
Multiple libraries were found for "LilyGoWatch.h"
Used: C:\Users\Bill\Documents\Arduino\libraries\TTGO_TWatch_Library-master
Multiple libraries were found for "SPI.h"
Used: C:\Users\Bill\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\SPI
Multiple libraries were found for "Ticker.h"
Used: C:\Users\Bill\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\Ticker
Multiple libraries were found for "Wire.h"
Used: C:\Users\Bill\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\Wire
Multiple libraries were found for "FS.h"
Used: C:\Users\Bill\AppData\Local\Arduino15\packages\esp32\hardware\esp32\1.0.4\libraries\FS
exit status 1
AceTime.h: No such file or directory
This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

You need the AceTime library.  Unsurprisingly, a google search would have revealed. this.


#42 Implement AuthController

In this PR I implemented AuthController with login, register and refresh tokens features and closes #42

@rultor merge

@h1alexbel OK, I'll try to merge now. You can check the progress of the merge here

@rultor merge

@h1alexbel Done! FYI, the full log is here (took me 1min)


DocsArchive-<IP_ADDRESS>Auto archive content

Please don't merge this PR until target archive repo PR https://github.com/OPS-E2E-PPE/docs-archive-test-target_754cf934-5026-41b3-b2d0-57226076d4a9/pull/1 is merged into live branch.
Auto archive content to https://github.com/VSC-Service-Account/docs-archive-test-target_754cf934-5026-41b3-b2d0-57226076d4a9.git

Docs Build status updates of commit 584b6f9:
:clock10: Pending: waiting for processors (6 builds ahead of you)
:warning: Docs Build is busy, currently there are 6 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 584b6f9:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error-ServiceAccountCannotAccessRepository] Your repository https://github.com/VSC-Service-Account/docs-archive-test-source has enabled Docs Build service account. It seems that at least one of the accounts, e2ebd2, does not have Read permission to the repo. Please ask your repo admin to grant correct permission to service accounts (refer to this document: https://review.docs.microsoft.com/en-us/engineering/projects/ops/engdocs/how-to-grant-service-account-permission-in-your-repository?branch=master#vsc-service-account) and then retry the build. Don't know who to contact? Refer https://repos.opensource.microsoft.com/VSC-Service-Account/repos/docs-archive-test-source/permissions/ to get admin list of the repo.

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


Conform author metadata to distutils.core API

Update the setup keyword args for author contact to align with the
distutils.core API.

Coverage remained the same at 100.0% when pulling eef0cf792334cb39fc5bf8966913c62e9789c590 on neirbowj:setup_metadata into 7227b3822babee904132c651a9574cc304ec8356 on glyph:master.

Thanks for the fix. Is there any linter which will catch these types of spec violations?


Fix when SVG uri does not return data in the url

Summary
Apparently servers that use the image proxy does not properly return svg images and thus the library throws an error trying to parse an empty string instead of a valid xml.
The webapp does handle this by rendering a broken image, this PR aims to do the same as the webapp.
As seen in this image, the image proxy does not return the svg image

I would advice to look into the reason why the image proxy does not handle this and return an empty body.
Ticket Link
https://mattermost.atlassian.net/browse/MM-41879
NONE

Building app in separate branch.

Successfully building:
https://circleci.com/gh/mattermost/mattermost-mobile/20314
https://circleci.com/gh/mattermost/mattermost-mobile/20313

Artifact links:
https://20314-70265724-gh.circle-artifacts.com/0/tmp/artifacts/Mattermost_Beta.ipa
https://20313-70265724-gh.circle-artifacts.com/0/tmp/artifacts/Mattermost_Beta.apk

Thanks @enahum
Tested, looks good to merge.

Verified app is handling broken images gracefully. Tested on the existing test channel with the broken image - shows broken image icon, no longer crashing.

Cherry pick is scheduled.


Develop REST Server with OpenAPI Contract defined in Go

Is your feature request related to a problem? Please describe.
The Core layer needs to be wired to the OpenAPI codegen
Describe the solution you'd like
Acceptance criteria:

Wiring Core layer in Go through the "stubs" generated under internal/server/openapi/api_model_registry_service_service.go
Demonstrate with test going through the REST interface (eg: Robot Framework, if possible)

Describe alternatives you've considered
n/a
Additional context
n/a

is this duplicate to #59?

is this duplicate to #59?

@rareddy fair, moving "acceptance criteria" from here to #59


21BCAB09_Arun ks

wifi is not connecting
to browse in internet
check connection status and switch to a stable internet connection
<EMAIL_ADDRESS>

<EMAIL_ADDRESS>


Unknown browser query >1% in alt-AS

This is a query right off the README. It seemed to work fine when passing it to babel or autoprefixer directly, but once I swapped to browserslist in my package.json I get the following error:
Module build failed: ModuleBuildError: Module build failed: BrowserslistError: Unknown browser query '>1% in alt-AS'
My config is:
  "browserslist": [     ">1% in alt-AS",     ">1% in US"   ]
Am I missing something obvious?

I tested and it works http://browserl.ist/?q=>1%25+in+alt-AS
Maybe you have old Browserslist?

It works on the web, but not the config in my package.json. I just installed browserslist this morning. I'll try to poke around, but it's very strange.

Check Browserslist version[s] by:
npm ls | grep browserslist

Yea, I must have something outdated in my cache. Just ran a minimal test case and it worked fine. Thanks for taking time to help.


System.InvalidOperationException: The project already transitively references the target project

I am trying to migrate .NetFramework 4.7.2 to .NET 6 using the Upgrade Assistant.
I was able to successfully migrate full projects. However for one project the Upgrade assistant fails wit following Exception-
Exceptions (if any)
<C:\Users\1437070\source\repos\Griffin_4_00_000_m\source\Next Service Manager\DM - diagnostic manager\upgrade-assistant upgrade .\DM.sln
Microsoft .NET Upgrade Assistant v0.3.261602+efb3cc30a24e699e6e4337f263a2b9478f04f618
We are interested in your feedback! Please use the following link to open a survey: https://aka.ms/DotNetUASurvey
[18:02:09 INF] Loaded 5 extensions
[18:02:10 INF] Using MSBuild from C:\Program Files\dotnet\sdk\6.0.101
[18:02:10 INF] Using Visual Studio install from C:\Program Files\Microsoft Visual Studio\2022\Community [v17]
[18:02:14 ERR] Unexpected error
System.InvalidOperationException: The project already transitively references the target project.
at Microsoft.CodeAnalysis.Solution.CheckCircularProjectReferences(ProjectId projectId, IReadOnlyCollection1 projectReferences)    at Microsoft.CodeAnalysis.Solution.AddProjectReferences(ProjectId projectId, IEnumerable1 projectReferences)
at Microsoft.CodeAnalysis.Solution.AddProjectReference(ProjectId projectId, ProjectReference projectReference)
at Microsoft.CodeAnalysis.Project.AddProjectReference(ProjectReference projectReference)
at Microsoft.CodeAnalysis.Workspace.UpdateReferencesAfterAdd(Solution solution)
at Microsoft.CodeAnalysis.Workspace.UpdateReferencesAfterAdd()
at Microsoft.CodeAnalysis.MSBuild.MSBuildWorkspace.OpenSolutionAsync(String solutionFilePath, ILogger msbuildLogger, IProgress`1 progress, CancellationToken cancellationToken)
at Microsoft.DotNet.UpgradeAssistant.MSBuild.MSBuildWorkspaceUpgradeContext.GetMsBuildWorkspaceAsync(CancellationToken token) in //src/components/Microsoft.DotNet.UpgradeAssistant.MSBuild/MSBuildWorkspaceUpgradeContext.cs:line 179
at Microsoft.DotNet.UpgradeAssistant.MSBuild.MSBuildWorkspaceUpgradeContext.InitializeWorkspace(CancellationToken token) in //src/components/Microsoft.DotNet.UpgradeAssistant.MSBuild/MSBuildWorkspaceUpgradeContext.cs:line 167
at Microsoft.DotNet.UpgradeAssistant.MSBuild.MSBuildUpgradeContextFactory.CreateContext(CancellationToken token) in //src/components/Microsoft.DotNet.UpgradeAssistant.MSBuild/MSBuildUpgradeContextFactory.cs:line 30
at Microsoft.DotNet.UpgradeAssistant.Cli.ConsoleUpgrade.RunAsync(CancellationToken token) in //src/cli/Microsoft.DotNet.UpgradeAssistant.Cli/Commands/Upgrade/ConsoleUpgrade.cs:line 50
at Microsoft.DotNet.UpgradeAssistant.Cli.ConsoleRunner.StartAsync(CancellationToken token) in /_/src/cli/Microsoft.DotNet.UpgradeAssistant.Cli/ConsoleRunner.cs:line 61>
It will be great if some one points out on how do I proceed ahead.
Further technical details

Windows version  (64-bit)

@twsouthwick Could this be related to what you are trying to address with #1007 ?

@ladsaylee Looks like the issue is while loading the project in question by Roslyn Workspace, could you provide the project file or the solution if possible so we can try to repro it?

This is unrelated to the fix in 1007. We'd need more details for the project file

I can share the project since it is due to certain policies. However when I manual converted it to .NET SDK and then to .NET Core it worked.


The modification plots on the home page don't weight "All Regions" or "All Crops" differently

The home page plots are great if all you're using is "All ____". But because the "All" categories are treated the same as individual override cards, it means that a single override has an outside effect. E.g. If "All Regions" is left at defaults and you add a single region, dropping it to 0.5, then the averaged value will be 0.75. We should make the data only use the All categories, or weight the All categories appropriately based on how many override cards are in play and how many total categories there are.

I'm a little worried that with how we're computing these values server-side, getting the total could be a little expensive for the benefit. We may need to find a more efficient way to do this.


added testing images in store

Hi @a-box31! I resolved the issue. Please have a look!

can you please add ''hacktoberfest-accepted'' label to my pr as your repository is not participating in hacktoberfest


MINOR: Reconcile differences in .bat & .sh start scripts

A few minor fixes to reconcile differences between the windows and unix versions of the kafka/zookeeper start scripts that were causing cross-platform inconsistencies during deployment.

Resolve differences in CLASSPATH setup between .bat and .sh start scripts
.bat start scripts honor externally provided KAFKA_HEAP_OPTS and KAFKA_LOG4J_OPTS consistent with .sh
.bat start scripts configure log4j similar to .sh

@fluetm Thanks for the patch. What Windows version did you use to test this?

@enothereska Tested this on Windows 7 Professional SP1...going to give it a run on Windows 10 soon.

@fluetm I'll try on Windows 10 too. Thanks.

Sounds great...thank you!

@fluetm Works on Windows 10. See minor comment in PR please. Thanks.

@enothereska sure, I can back out the .sh change.  Do you want me to add "MINOR" to the commit message as well?
One followup question, the change added to the .sh file was to keep the CLASSPATH setup similar to what was happening in windows...avoiding picking up any CLASSPATH coming in from the outside.  One problem we had out of the box was that some unexpected third party jars were being added in front of Kafka and interfering with log4j initialization.  I was thinking it would be a good idea to keep the CLASSPATH setup consistent between the .sh and .bat versions one way or the other.  Should I change the windows CLASSPATH initialization to match the .sh version in this PR?

@fluetm Yes, would be good if the windows file matched the .sh file, in this case without the CLASSPATH initialization (it is assumed the caller would clear CLASSPATH before calling script if necessary). Thanks.

@enothereska issues addressed

LGTM. @ewencp could you have a look to merge? Thanks.

I am no windows expert but the changes look okay to me.

LGTM. Thanks for reviewing and testing @enothereska.


Unable to create new CustomLogHandler

Hi
from readme.md adding new CustomLogHandler for creating new field looks easy.
But, when I add quarkus-logging-json dependency, there is no "io.quarkiverse.loggingjson.JsonProvider" interface available.
quarkus version is currently 2.9.2.FINAL, we will be upgrading soon, but not sure if that is relevant to this.

Are you sure you are using correct dependency, have changed in early versions.
<dependency>
  <groupId>io.quarkiverse.loggingjson</groupId>
  <artifactId>quarkus-logging-json</artifactId>
  <version>2.0.0</version>
</dependency>


This postgresql query throws error: Error: syntax error at or near "AS"

This is the query:
CREATE SEQUENCE public.user_permissions_id_seq
    AS integer
    START WITH 1
    INCREMENT BY 1
    NO MINVALUE
    NO MAXVALUE
    CACHE 1;

This was generated from pg_dump, so there must be a bug with the library.

This is likely since this library wasn't updated yet for Postgres 10 - @zhm should be able to comment on how complex of an effort that would be.
It essentially requires an update of the underlying libpg_query library to 10-1.0.0 or newer (see https://github.com/lfittl/libpg_query/blob/10-latest/CHANGELOG.md#10-100---2017-10-30)

this project hasn't been updated in years, tho :cry:


[BUG] In-efficient approach for checking if a unassigned shard is from a batch being processed

Describe the bug
Problem:
PrimaryShardBatchAllocator: At https://github.com/opensearch-project/OpenSearch/blob/main/server/src/main/java/org/opensearch/gateway/PrimaryShardBatchAllocator.java#L107 List.contains check is being performed on a list of unassigned shards in batch against all unassigned shards which expensive.

Additional Details
OpenSearchVersion 2.13
Please list all plugins currently enabled.

[Triage - attendees 1 2 3 4 5 6]
Thanks for filing this issue, please feel free to submit a pull request.


column helper reorganization, new matchups tables on player details

Move column helpers to their own folder. shift some of the player details panels to their own components. Add support for matchups (player and commander) on the player details page

The most interesting things to look at here are that I moved the columnhelpers to their own folder, and then added new logic in the player/commander matchups. We'll want  to extend this to commanders soon enough too.


fix render issue

this fixes an issue on initial render of the page. i believe its the same one experienced in
https://github.com/valentine195/obsidian-5e-statblocks/issues/10

hey sorry I missed this PR, my november was a bit crazy
I actually completely rewrote the rendering of the statblock in version 2.0 (you can test it with Obsidian BRAT :) ), so I'm gonna close this without merging.


general maintenance

the actions were failing so I wanted to take some time to bring this back up to speed.

closing while we test


Update archive-rehydrate-to-online-tier.md

Rehydrate is now also supported to the online cold tier

@normesta

Can you review this PR?
IMPORTANT: When this content is ready to merge, you must add #sign-off in a comment or the approval may get overlooked.

#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

#sign-off


Adjustments for Genshin 4.1.0 update

New settings in GeneralData! enableHDR & muteAudioOnAppMinimized
Add new toggle to mute audio when Game is minimized
Adjust HDR behavior (WindowsHDR and enableHDR always gets pulled down to False on game close, added new override)
Thanks @MapleHinata for the help in testing!

Done doing changes. The rest is looking good


Text of the item in a list of a history is very long

Description

use the query for dvdrental database:

select * from public.rental as r
join inventory as i on i.inventory_id = r.inventory_id
join public.customer as c on c.customer_id = r.customer_id
join staff as st on st.staff_id = r.staff_id
join film as f on f.film_id = i.film_id
join address as a1 on a1.address_id = c.address_id
join address as a2 on a2.address_id = st.address_id
join "language" as l on f.language_id = l.language_id
;

https://github.com/user-attachments/assets/cefa52da-620b-439f-a259-2dd2fdbfa986
DBeaver Version
Enterprise Edition 24.2.4-202410172322
Operating System
Windows 10
Database and driver
PostgreSQL 16
PostgreSQL JDBC Driver 42.7.4
Steps to reproduce
No response
Additional context
No response

Thank you for your report.


Add fix for iris longitude bug to ClimWIP

Description
Implement a fix for a iris longitude problem (https://github.com/ESMValGroup/ESMValCore/pull/800) in the ClimWIP mapplot diagnostic

Closes #2106

Before you get started

[x] ☝ Create an issue to discuss what you are going to do

Checklist
It is the responsibility of the author to make sure the pull request is ready to review. The icons indicate whether the item will be subject to the 🛠 Technical or 🧪 Scientific review.

[x] 🛠 This pull request has a descriptive title
[x] 🛠 Code is written according to the code quality guidelines
[x] 🛠 Documentation is available
[x] 🛠 Tests run successfully
[x] 🛠 The list of authors is up to date
[x] 🛠 Any changed dependencies have been added or removed correctly
[x] 🛠 All checks below this pull request were successful

New or updated recipe/diagnostic

[x] 🧪 Recipe runs successfully
[x] 🧪 Recipe is well documented
[x] 🧪 Figure(s) and data look as expected from literature
[x] 🛠 Provenance information has been added

New or updated data reformatting script

[ ] 🛠 Documentation is available
[ ] 🛠 The dataset has been added to the CMOR check recipe
[ ] 🧪 Numbers and units of the data look physically meaningful

To help with the number of pull requests:

🙏 We kindly ask you to review two other open pull requests in this repository

Looks good! Can you have a look at the flake8 errors?

Looks good to me. @ruthlorenz as a formality could you do a very quick scientific check?

What do you need me to check?
I run a quick test using a region crossing the 0 meridian, result attached. But might just be a plotting issue.
temperature_change_weighted_map.pdf

no actually the preprocessed files already look like this....

What do you need me to check?
...
no actually the preprocessed files already look like this....
All I changed is the start_longitude in recipe_climwip_basic_check.yml to be -10 (and the xticks accordingly)

Good catch! I think it's exactly that: you try to use the updated recipe and verify that it provides the results you expected. Sometimes it might also make sense to look at the equations, but in this case that's not really relevant I think.

Good catch @ruthlorenz I had indeed used the wrong default for the antimeridian in the file I pushed. Now it should run. I've also updated the recipe_climwip_test_basic as I guess it is here to test all these cases. So now the are starts at -10 by default to cover that case.
(for regions crossing the -180/180 there is still a problem I would leave it for now and try fix that should we ever need it)

Can you merge this @Peter9192? Just to clean up :)

hmmm... so this syntax does not seem to work in the documentation?
.. code-block:: yaml
    extract_shape:

I'm not authorized to merge, sorry. You can tag ESMValGroup/esmvaltool-coreteam instead, if you're happy with the docs. I think you might need a blank line below the code block header.

I'm not authorized to merge, sorry. You can tag ESMValGroup/esmvaltool-coreteam instead, if you're happy with the docs. I think you might need a blank line below the code block header.

Will do! Sorry the comment actually belonged to another PR (too many browser windows)

ping @nielsdrost @valeriupredoi :)


MFA with NPS extension

Hello,
for using "Integrate VPN infrastructure with Azure AD MFA using the Network Policy Server extension for Azure" feature, an MFA license is a prerequisite
Could you update this doc to add this information?
It's important to have listed all features that needs license to avoid problems.
Reference:  https://docs.microsoft.com/en-us/azure/active-directory/authentication/howto-mfa-nps-extension-vpn#prerequisites
Thanks

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

ID: feb03e63-f543-d85b-9daf-16b4d1e13a60
Version Independent ID: da9dcdd2-70d4-e08e-18f2-6e6a1489937a
Content: Azure AD Multi-Factor Authentication versions and consumption plans
Content Source: articles/active-directory/authentication/concept-mfa-licensing.md
Service: active-directory
Sub-service: authentication
GitHub Login: @Justinha
Microsoft Alias: justinha

@petrybr
Thanks for your feedback! We will investigate and update as appropriate.

Thanks! I made a pull request to add this. https://github.com/MicrosoftDocs/azure-docs-pr/pull/150499


Forking and building

Hi Thinh,
I'm a developer at PayPal, and would like to fork and use your repo.  Excuse my naiveté, but any way you could post local build instructions as you may know them?
Todd

Hi Todd,
Thanks for your message!
Please go ahead, just fork and use my repo, and please also feel free to send me pull requests if possible, too!
About the local build instruction, sorry I didn't get what you meant yet, can you read my tutorial, there are simple and full examples, is that what you need?
Thinh

Hey!  I've forked the repo and want to test out local changes as an npm
dependency.  My package.json:
  "dependencies": {
    ...
    "react-dom": "^15.5.4",
    "react-paypal-express-checkout":
"file:../../react-paypal-express-checkout",
    ...
  },

For the build of the ./dist/ files in your project, I've tried npm prepublish but, my version of npm complains its deprecated.  THIS is the
part I was trying to get your help on.  Not a big deal, really.
Nice work btw!  Its really the only react example of PayPal checkout that
seems to exist!!!!  And I work at the place!!
Todd
On Tue, Jul 11, 2017 at 10:33 AM Thinh Vo<EMAIL_ADDRESS>wrote:

Hi Todd,
Thanks for your message!
Please go ahead, just fork and use my repo, and please also feel free to
send me pull requests if possible, too!
About the local build instruction, sorry I didn't get what you meant yet,
can you read my tutorial, there are simple and full examples, is that what
you need?
Thinh
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/thinhvo0108/react-paypal-express-checkout/issues/5#issuecomment-314517043,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEAuvi1_ArsL_pbRhKlAkz0lBNosvkCiks5sM7H5gaJpZM4OUjZB
.

Hi Todd,
I was busy lately, have you got this work yet in your local environment?

Yes, I did.  It works great.  Thanks!!
On Tue, Oct 3, 2017 at 11:00 PM Thinh Vo<EMAIL_ADDRESS>wrote:

Hi Todd,
I was busy lately, have you got this work yet in your local environment?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/thinhvo0108/react-paypal-express-checkout/issues/5#issuecomment-334057678,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEAuvn2StHjYK6fmw_t5GnSeu1WvgTz3ks5sox8ZgaJpZM4OUjZB
.

Thanks for your reply!
Glad you had it working!
I will close this ticket, then!


Fixed request context bug, silenced Ruff warnings

Fixing the following error:
    return self.templates.TemplateResponse(name=template_name, request=request, context=result)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: Jinja2Templates.TemplateResponse() got an unexpected keyword argument 'request'

The error is due to how the TemplateResponse is being constructed in the render function within the Jinja class. Specifically, the error arises because the TemplateResponse method is being called with an incorrect argument: request=request. The request should be part of the context dictionary, not passed as a separate argument.
Also fixed some obvious Ruff warnings and silenced the rest non-critical comment related warnings.

Closed following this comment.


x/build: mac builders down

All Mac builders are currently down, as reported at https://farmer.golang.org/#health:

This is due to an issue at our Mac provider. They've notified us about the issue and that it should be resolved on their side by now, but it's been many hours and the Mac builders haven't returned yet.
/cc @bradfitz @toothrot @cagedmantis

macstadiumd disk went read-only. Rebooted.
That's a new thing to add to the monitoring on farmer.golang.org. It's happened a few times now.

Thanks Brad.
I'll close this issue since the Mac builder outage is resolved:

That's a new thing to add to the monitoring on farmer.golang.org. It's happened a few times now.

There's an open issue #32449 tracking that. I've retitled it to be more specific, we can use it for this task.


Typing identdefs

also, is there an iterator for identdefs already?  and how about tuples?  works?

There is not an iterator for identdefs, but that's a bit of a can of worms:

in what situations do you want to iterate over identdefs
are we talking about procdef params, generic param defs, var/let section runs?
or in some other general sense?
because normalizingRewrites is a lot better/regular, reasons to iterate over identdefs are dying I think

Tuples and LetSections can be next on the hit list, that should collapse a bunch more environment code.


Misc install and chart fixes

set default resource requirements for dind container
get the hostname (ELB) address back for installation on AWS
allow image manager specific debug flag (quiet docker output)
logs alias
vcenter driver logs (temporary implementation)

This looks to have broken something.  Needs e2e pass before merging


C#: How to dispose duplex streaming call properly?

What version of gRPC and what language are you using?
1.19.0
What operating system (Linux, Windows,...) and version?
Windows 10
What runtime / compiler are you using (e.g. python version or version of gcc)
MSVC 2017
What did you do?
If possible, provide a recipe for reproducing the error. Try being specific and include code snippets if helpful.
I'm executing duplex streaming call like this:
        public Message.Types.LoginResponse Login(Message.Types.LoginRequest.Types.LoginType loginType)
        {
            using(var call = _securityService.Login(_metadata, null, _cancelGrpcTasks.Token))
            {
                var grpcIdentity = new GrpcIdentity<Message, Message>((data) =>
                {
                    return new Message
                    {
                        NegotiateMessage = new Message.Types.NegotiateMessage
                        {
                            Data = ByteString.CopyFrom(data)
                        }
                    };
                }, (message) =>
                {
                    return message.NegotiateMessage.Data.ToByteArray();
                });

                grpcIdentity.Send(call.RequestStream, call.ResponseStream);

                call.RequestStream.WriteAsync(new Message
                {
                    LoginRequest = new Message.Types.LoginRequest
                    {
                        LoginType = loginType
                    }

                }).Wait(_cancelGrpcTasks.Token);

                call.ResponseStream.MoveNext(_cancelGrpcTasks.Token).Wait(_cancelGrpcTasks.Token);
                var response = call.ResponseStream.Current.LoginResponse;

                // uncommenting fixes ShutdownAsync !!!
                // call.ResponseStream.MoveNext(_cancelGrpcTasks.Token);
                return response;
            }

What did you expect to see?
... and I would expect this call to be fully disposed after leaving 'using' block. In reality seems like it is not unless 'call.ResponseStream.MoveNext(_cancelGrpcTasks.Token);' executed (see commented code).
I would expect channel.ShutdownAsync().Wait() to fully uninitialize grpc channel.
What did you see instead?
channel.ShutdownAsync().Wait() results int infinite wait.
Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).
See TROUBLESHOOTING.md for how to diagnose problems better.
Anything else we should know about your project / environment?
So what is the right way to uninitialize grp channel from the client? I don't want to terminate 'grpc environment' because I'd like to be able to recreate channel later if required. And I hate an idea of adding senseless 'call.ResponseStream.MoveNext(_cancelGrpcTasks.Token);' at the end of every streaming call I have just to make ShutdownAsync().Wait() to work.

Just to make sure we're on the same page:

you invoke the snippet provided
you call channel.ShutdownAsync().Wait() and it hangs (unless you've called ResponseStream.MoveNext() previously)

Does the logging provide any additional info?

yes
and yes.

Frankly speaking I haven't review log results but can collect it and provide you. Or maybe I can just provide sample application illustrating the issue.

@ElderOrb  a sample app would be useful.

Weird, but I can't reproduce the issue using simple sample. I guess issue can be closed for now until I find what contribute to such a behaviour...


DyldContext attempts to open .symbols file without checks.

Hi, Im on macOS 12 (Monterey) and I am getting an error when trying to extract the cache.
FileNotFoundError: [Errno 2] No such file or directory: '/System/Library/dyld/dyld_shared_cache_x86_64.symbols'

The file shown in the error does indeed not exist, does this mean DyldExtractor doesn't work in macOS 12?

DyldExtractor does not support x86_64 caches, but the error that is shown should have not happened. If possible, can you send me a file with the first 512 bytes of the main cache, /System/Library/dyld/dyld_shared_cache_x86_64.
You can use the following command, dd count=1 if=INPUT_FILE of=OUTPUT_FILE.

Yeah, here you go
dyld_shared_cache_x86_64.zip

Okay, I added a small check with 934b17d.
As for x86_64 support, DyldExtractorC will support it, but development is going really slow unfortunately.

Nice, thank you. I tried it and I am getting this error for every lib, even in arm64e.
Processed: libsystem_info.dylib
----- libsystem_info.dylib -----
12:19:02:511 [  ERROR  ] dyldex_all:184 : 'NoneType' object has no attribute 'header'
Traceback (most recent call last):
  File "/usr/local/bin/dyldex_all", line 159, in _extractImage
    linkedit_optimizer.optimizeLinkedit(extractionCtx)
  File "/usr/local/lib/python3.9/site-packages/DyldExtractor/converter/linkedit_optimizer.py", line 600, in optimizeLinkedit
    optimizer.copyLocalSymbols(newLinkedit)
  File "/usr/local/lib/python3.9/site-packages/DyldExtractor/converter/linkedit_optimizer.py", line 270, in copyLocalSymbols
    if symbolsCache.header.localSymbolsOffset == 0:
AttributeError: 'NoneType' object has no attribute 'header'
--------------------

Hmm I probably should have done more testing, can you send me a download link for your cache files so I can look deeper into the issue?

Also seeing this for an x86_64h cache

If possible can you send me your cache files? It would very helpful.

Do you have an email I can reach you on?

Yep<EMAIL_ADDRESS>

I added another check with 7a559b60a141323da11ce6d94e1ab1445b0d1a17 and that seems to fix this issue, but x86_64h still fails in ObjC Fixer.


Stop posting to room 8089 Mempool

Hi,
the Bitcoin folk is not particularly active on the SE chat and we mostly just remove whatever crops up with flags on the site long before we see it in the chat. So, I'd like to stop the smoke detector from posting to the mempool chat (the Bitcoin public chat room, 8089). Hope this PR does that.
Thank you for your work!

!!/approve


The hidden performance issue of single store, especially in NavigationView

I applied your single store concept  into my project and found some performance issues. Here is my example
Background

NextUpRootView is the root navigation view
Click navigation item to push RaceCard. In RaceCard, fetch racing data via getRaceCard
Both NextUpRootView and RaceCard have @EnvironmentObject var store: Store

Problem

NextUpRootView comes useless re-rendering even I'm on RaceCard after a getRaceCard operation. This could be a performance problem if navigation view comes a big stack(views). In my application, it also comes a very strange behavior:  when i'm on RaceCard page and execute getRaceCard, the app automatically pop back to NextUpRootView view;
@EnvironmentObject var store: Store is the evil. Because as long as our state changes, all view that have this has to be rendered again

Code snippets
// root view controller

struct NextUpRootView: View {
    @EnvironmentObject var store: Store
    private var racing: AppState.Racing { store.appState.racing }
    ...

    var body: some View {
        NavigationView {
            VStack {
                NavigationLink(destination: RaceCard(data: self.raceCardData))
    }
}

// race card

struct RaceCard: View {

    @EnvironmentObject private var store: Store
    @ObservedObject var viewModel = RaceCardModel()

    init(data: VRaceCard) {
        self.viewModel.meetingId = data.meetingId
        self.viewModel.raceId = data.raceId
        self.viewModel.selectedRaceNumber = "\(data.raceNumber - 1)"
    }

    var body: some View {
        VStack(spacing: 0) {
            RaceTable(selectedProductGroupId: viewModel.selectedProductGroupId, raceId: viewModel.raceId)
        }
            .onReceive(viewModel.$selectedRaceNumber, perform: { _ in
                self.getRaceCard()
            })
    }
}

extension RaceCard {
    private func getRaceCard() {
        store.dispatch(.racing(.getRacecard(raceId: viewModel.raceId)))
    }

}

It's a known issue of this architecture. You can take a look at https://github.com/pointfreeco/swift-composable-architecture which offer much more features and allow to connect the view to only part of the store on a targeted set of diff.

            Gratitude....Sent using the WEB.DE mail appOn 15.11.20 at 09:12, Thomas Ricouard wrote:

                From: "Thomas Ricouard"<EMAIL_ADDRESS>15 November 2020To: "Dimillian/MovieSwiftUI"<EMAIL_ADDRESS>"Subscribed"<EMAIL_ADDRESS>Re: [Dimillian/MovieSwiftUI] The hidden performance issue of single store, especially in NavigationView (#47)

It's a known issue of this architecture. You can take a look at https://github.com/pointfreeco/swift-composable-architecture which offer much more features and allow to connect the view to only part of the store on a targeted set of diff.
—You are receiving this because you are subscribed to this thread.Reply to this email directly, view it on GitHub, or unsubscribe.
[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/Dimillian/MovieSwiftUI/issues/47#issuecomment-727532519",
"url": "https://github.com/Dimillian/MovieSwiftUI/issues/47#issuecomment-727532519",
"name": "View Issue"
},
"description": "View this Issue on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]


jasmine: app config in bundles

@jochenklein I would try to reformulate the commit message in following way:
jasmine: support for app config in bundles

* BETTER Allows using variables from application config for
  building asset bundles.

...
Reviewed-by: Jiri Kuncar<EMAIL_ADDRESS>


Sprint 4: Completing The Team Portfolio

This is the sub issue dedicated to the documentation of progress on the team portfolio.

4/11/24 Monday:
Today was almost entirely dedicated to the lesson that Mr. Fabroa gave on the necessary tasks we will need to complete for sprint 4. This includes the team portfolio which I have taken lead on and will begin working on until my groupmates finish their necessary tasks and join me on completing this.

5/11/24 Tuesday:
I created the canva document dedicated to creating the team portfolio digitally. This is shared with the entire group and Mr. Fabroa. I spent most of the class time combing through the https://ftc-resources.firstinspires.org/file/ftc/game/manual-06 to see what will be needed on the team portfolio. After that I began adding elements to the canva document which is the correct size of 8.5x11 inches. The link to the canva project is: https://www.canva.com/design/DAGVoagoxrM/YDRewJ4hZrwk8Sx3xSrwfw/edit .
Not much has been done but there is more to come.

6/11/24 Wednesday:
Today we were told about the imminent arrival of our shirts and their designs. I spent most of the class troubleshooting how to change our team logo from the multi coloured greatness to a mono-tone single colour so it can be used on the team shirts. Then I  helped Anand and Jadon with experimenting with the driver code. Jadon managed to code the left stick to go forward in any direction it is pointed in, and the right stick spins the robot in place. Both of these are great achievements, however we ran into the problem of the robot randomly disconnecting.

7/11/24 Thursday:
Today I worked further on the portfolio; advancing to now have the cover page and half of the table of contents page done. I also assisted with taking photos for our presentation which Anand is currently working on. Some of these photos are on the cover page of the portfolio next to all of the required information specified by the manual (team number, name, motto etc).

8/11/24 Friday:
I was at the Royal Winter Agricultural Fair with my business class and thus was not able to work on the robot or any related tasks today.

11/11/24 Monday:
Today I studied previous teams portfolio to see what needs to be added. I specifically looked at how other teams formatted their mission statements, award section and meet the team page. This helped me plan out what we are going to include in our team portfolio. After lunch I helped troubleshoot the issue of our robot not being tall enough to ascend. I resolved the issue quickly as we just needed to adjust the brackets that hold the 1st arm assembly higher so the claw part can go above the low rung bar. I also helped Anand practice his control over the arms.

Refer to https://github.com/sta-titansrobotics/27315-IntoTheDeep/issues/30#issuecomment-2471359297 for progress done today.

13/11/24 Wednesday:
Today we went to the board and performed a showcase. Anand and I got some good practice in for a solid 15 minutes before the robot started to break down again. We then spent the rest of the trip trying to fix the robot but it was unsuccessful due to the damages sustained.

19/11/24 Monday:
Today Mateo and I worked on the portfolio completing most of the "meet the team" page before lunch. We were slightly delayed as Mateo had trouble logging on and when Canva finally loaded it wiped part of the portfolio I had worked on (Still don't know why). After lunch Anand and I practiced driving the robot and scoring on both the low and high basket. We had varied success but the key factor is we are getting better.

19/11/24 Tuesday:
Today was spent working on the portfolio and practicing driver coordination for the competition. Mateo and I were able to further progress on the portfolio completing the "Meet the Team" page and with Ambrose's additions our "about the robot" page is well underway. After that Anand and I continued practicing however we had to stop because of the deteriorating condition of our intake. The corrugated plastic of the intake was pretty much completely destroyed and needs replacing immediately which is what I started doing for the remainder of the class.

20/11/24 Wednesday:
Today a lot of progress was made on the portfolio. Since Anand finished the presentation we were able to have 3 people work on the portfolio (Mateo, Anand and Me). Due to this we started and progressed through various pages of the portfolio including new building process and programming pages as well as the awards page. With a great effort tonight and on thursday we can easily finish the portfolio while making it an expecitional representation of our efforts so far.

Thursday the 21st:

I added the process and problems we faced and overcame in our TeleOp Development. Mentioned how I needed to learn how mecanum drive works in order to code it. Did extensive research in the usage and translation of left joystick x and y inputs/values into radians so they can be used in the drivetrain motor power formula. Also mentioned how the right joystick x values are used to rotate the robot clockwise or counterclockwise.
Anand and I added our process in developing the arm movement code. How it seemed simple at first, but was difficult due to the initial arm build with 3 motors and arm extensions. I mentioned how Anand was struggling to move the arm to the desired positions because of the many different inputs needed to be made, so I revamped the arm code where the buttons x,y,a,b can be programmed to move the arm motors to pre-set motor positions. this helped Anand a lot and works.

I spent most of today sitting with Jadon trying to figure out strategy before the competition. I made sure the starting positions worked for the auto ops we have done (other autos will be developed in hotel room) and that we were able to at least bring forward these two autos to this tournament. Then, I helped complete the portfolio as well as making sure our parts/hardware checklist was accounted for alongside Ambrose.

22/11/24 Thursday:
Today I worked with the team on speedrunning the portfolio. With some time and effort after school we were able to completely finish it while including everything that was necessary and more. The final canva design can be found here:
Team Titans 4 Nuts Galore - Team Portfolio.zip
Unfortunately some of the portfolio got cut off during the printing process meaning we had to physically write in some of the lettering. The damages were not that bad and we finished this as well with minimal issues.


Allow Cesium3DTileStyle with conditionally undefined scaleByDistance, translucencyByDistance and distanceDisplayCondition

Allow to use StyleExpression for scaleByDistance. translucencyByDistance, distanceDisplayCondition which returns undefined for some objects

Thank you so much for the pull request @ShapovalovKL! I noticed this is your first pull request and I wanted to say welcome to the Cesium community!
The Pull Request Guidelines is a handy reference for making sure your PR gets accepted quickly, so make sure to skim that.

:x: Missing CONTRIBUTORS.md entry.

Please add yourself to the contributors file!

:x: Missing CLA.

Please send in a Contributor License Agreement (CLA) and comment back here to let us know to check this!

:grey_question: CHANGES.md was not updated.

If this change updates the public API in any way, please add a bullet point to CHANGES.md.

:grey_question: Unit tests were not updated.

Make sure you've updated tests to reflect your changes, added tests for any new code, and ran the code coverage tool.

Reviewers, don't forget to make sure that:

[ ] Cesium Viewer works.
[ ] Works in 2D/CV.

I signed the CLA and added myself to CONTRIBUTORS.md

Thanks for the PR @ShapovalovKL! Could you please:

Add a unit test to Cesium3DTileStyleSpec to verify the undefined condition for each property
Update CHANGES.md with a summary of the change

Thanks @ShapovalovKL!
To get CI to pass, please run npm run prettier to format all files and commit the result.

Updated CHANGES.md and added test to Vector3DTilePointsSpec. No need to add tests to Cesium3DTileStyleSpec, since it only checks getters and setters for properties and already checks getters and setters with StyleExpression

Thanks @ShapovalovKL for your first Cesium contribution!


Provide Non-caching client / flag for non-cached call.

Is your feature request related to a problem? Please describe.
Not all applications require a cache. In my case I want to always query the latest values for particular operations.
Describe the solution you'd like
A clear interface for implementing a NullCache along side the InMemoryCache
Describe alternatives you've considered
A flag during the query operation to determine if the cache should be parsed.
Additional context
N/A

@cal-pratt Just a quick ping. We include FetchOptions now, allowing you to pass deferent options including the no_cache option.
Hope that does wat you want. ✌🏻

@HofmannZ Awesome stuff!
Will take a look sometime next week!


Closes GeyserMC/Geyser#3192

@Camotoy will make a sister PR on Geyser to add access to q.is_emerging.
Please merge after https://github.com/GeyserMC/GeyserOptionalPack/pull/33 so version is proper.

Fixed merge conflict