[$250] Chat - Focus Sticks on Cancel Button After Clearing Message & Saving with Enter Key

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.61-0
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Email or phone of affected tester (no customers<EMAIL_ADDRESS>Issue reported by: Applause - Internal Team
Action Performed:
1, Write a comment and hover over it, then click edit
2, Clear the message and press the Enter key
3, Observe that the focus remains on the "Cancel" button, preventing the deletion of the comment using the Enter key
Expected Result:
The focus should not remain on the "Cancel" button when attempting to clear the message and save changes using the Enter key. The user should be able to delete the comment using the Enter key
Actual Result:
The focus remains on the "Cancel" button when attempting to clear the message and save changes using the Enter key. The user is unable to delete the comment using the Enter key
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[x] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/01839aaf-6a53-4682-a3c6-03a91b06d71a
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~0125e80c6474a3886e
Upwork Job ID:<PHONE_NUMBER>497317888
Last Price Increase: 2024-04-08

@isabelastisser  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

Proposal
Please re-state the problem that we are trying to solve in this issue.
Chat - Focus Sticks on Cancel Button After Clearing Message & Saving with Enter Key
What is the root cause of that problem?
There no logic to handle keyboard input in ConfirmContent.tsx
What changes do you think we should make in order to solve the problem?
https://github.com/Expensify/App/blob/dd30d137b485482bb8e4c61700b58d2e03683124/src/components/ConfirmContent.tsx#L140-L181

add event listener for key press
event listener should be added only when modal is visible and listener should be removed when modal is invisible
upon up and down arrow keypress button focus be changed accordingly
If shouldStackButtons props is true then stacked button should be focus and same for non stacked buttons.

Additionally

If top button is focused and up arrow key is pressed then focus should circle back to bottom button and same for down arrow key
We can also update styling of focused button to make it look more prominent

Proposal
Please re-state the problem that we are trying to solve in this issue.
Chat - Focus Sticks on Cancel Button After Clearing Message & Saving with Enter Key
What is the root cause of that problem?
We don't have any event handlers for up and down arrow keys. That's why doesn't have focus change when we press up and down arrow keys.
What changes do you think we should make in order to solve the problem?
We can make use of useKeyboardShortcut() and useArrowKeyFocusManager() hooks that have been used for the similar purpose (handling focus with cursors).
This involves three steps -

Making use of useArrowKeyFocusManager() to track the focused index.

    const [focusedIndex, setFocusedIndex] = useArrowKeyFocusManager(
        {
            maxIndex: 1,
            initialFocusedIndex: 0,
        }
    )

Use array of refs for storing the refs of two buttons. That we will add refs like following

ref={(ref) => {
    if (!ref) {
        return;
    }
    buttonRefs.current.push(ref);
}}

We can make use of useKeyboardshortcut() to listen to - arrow up and and arrow down shortcuts as below -

useKeyboardShortcut(
    CONST.KEYBOARD_SHORTCUTS.ARROW_UP,
    () => {
        if (!(focusedIndex > 0)) {
            return;
        }
        setFocusedIndex(focusedIndex - 1);
    }
);

useKeyboardShortcut(
    CONST.KEYBOARD_SHORTCUTS.ARROW_DOWN,
    () => {
        if (focusedIndex === buttonRefs.current.length - 1) {
            return;
        }
        setFocusedIndex(focusedIndex + 1);
    }
);

Sure we can refactor conditions. With help of useKeyboardshortcut() we can avoid managing event listeners since it will do heavy lifting and and it's well tested.
https://github.com/Expensify/App/assets/27822551/73444e4b-1079-466d-8e39-d71e302b5046
What alternative solutions did you explore? (Optional)

Proposal
Please re-state the problem that we are trying to solve in this issue.

Chat - Focus Sticks on Cancel Button After Clearing Message & Saving with Enter Key

What is the root cause of that problem?

When we open modal, we have a logic to focus on its first descendant here:

            let hasFocused = focusFirstDescendant(trapElementRef.current);

Because we open modal, the edit composer blurs, leading to the below logic is called to display the main composer:
https://github.com/Expensify/App/blob/89b9cef1f4d6ee61473181431fc76d78d7d1bc11/src/pages/home/report/ReportActionItemMessageEdit.tsx#L456
And we have a logic to check whether we should auto-focus on the main composer or not:
https://github.com/Expensify/App/blob/89b9cef1f4d6ee61473181431fc76d78d7d1bc11/src/pages/home/report/ReportActionCompose/ComposerWithSuggestions/ComposerWithSuggestions.tsx#L278-L279
in this case, shouldAutoFocus is true at the first time because !modal?.isVisible is true at the first time. That leads to the main composer being focused for a while before the modal?.isVisible is up-to-date.
In here we have a logic to handle focus event, so when the above main composer is focused, that event handle is triggered, and the logic to focus on the last descendant is call:

              hasFocused = focusLastDescendant(trapElementRef.current);

Finally, the "Cancel" button is focused, leads to the bug.

What changes do you think we should make in order to solve the problem?

We need to create a global variable, named willModalBecomeVisible to check if the modal is visible or not, so it will be updated immediately, rather than using the current modal?.isVisible from onyx.

let willModalBecomeVisible = false;

function setWillModalBecomeVisible (isVisible:boolean){
    willModalBecomeVisible = isVisible
}

Then, update this to:

            setWillModalBecomeVisible(true)
            return;

Then, update this condition to:

    const shouldAutoFocus =
        !willModalBecomeVisible && !modal?.isVisible && isFocused && (shouldFocusInputOnScreenFocus || (isEmptyChat && !ReportActionsUtils.isTransactionThread(parentReportAction))) && shouldShowComposeInput;
   setWillModalBecomeVisible(false)

What alternative solutions did you explore? (Optional)

We can do not call this if we are opening the modal.
To do it, you just need a minor change in main solution. In detail, the 3. will be:
3'. Then, update this to:

                                if(!willModalBecomeVisible){
                                    setShouldShowComposeInputKeyboardAware(true);
                                    setWillModalBecomeVisible(false)
                                }

Hey @shubham1206agra, can you please review the proposals above? Thanks!

Bump @shubham1206agra to review the proposals above. I will DM you too for visibility. Thanks!

@shubham1206agra can you post in open source to confirm? Thanks!

Bump @shubham1206agra for an update! I will DM you for visibility.

@shubham1206agra I mentioned why the focus sticks on the Cancel button in the below section:

@shubham1206agra focusLastDescendant is function to focus on the last descendant component of the modal, in this case the last descendant is the "Cancel" button. Calling focusLastDescendant leads to the focus sticks on the Cancel button.
Feel free to provide feedback if my response is unclear. Thanks

change the focus by up/down arrow keys?

Sorry because misunderstood your thought. I think we do not have this feature. We just can change the focus by using the Tab key.

@shubham1206agra Branch

Also, there are other places where this modal is being used.
Example - when deleting a workspace.

Proposal
Please re-state the problem that we are trying to solve in this issue.

Chat - Focus Sticks on Cancel Button After Clearing Message & Saving with Enter Key

What is the root cause of that problem?

in node_modules\react-native-web\dist\exports\Modal\ModalFocusTrap.js

  document.addEventListener('focus', trapFocus, true);

Modal binding the focus event. trapFocus  is a recursive function, so the cancel button will be focused.

in<EMAIL_ADDRESS>
  useEffect(() => {
      if (!divRef.current) {
        return;
      }
      // focus the input on mount if autoFocus is set
      if (autoFocus) {
        divRef.current.focus();
      }
    }, [autoFocus]);

when autoFocus  is true,  triggered the focus event.

Composer will trigger Modal  focus event，the "Cancel" button is focused.

What changes do you think we should make in order to solve the problem?

When modal open , global variable !modal?willAlertModalBecomeVisible is true,shouldAutoFocus  should be false

    const shouldAutoFocus =
        !modal?.willAlertModalBecomeVisible && !modal?.isVisible && isFocused && (shouldFocusInputOnScreenFocus || (isEmptyChat && !ReportActionsUtils.isTransactionThread(parentReportAction))) && shouldShowComposeInput;

What alternative solutions did you explore? (Optional)
N/A

@shubham1206agra, please review the proposal above. Thanks!

Hi @Krishna2323 @shubham1206agra , following up on the below, I believe we should not be able to do this, but please confirm in Slack. Thanks!

Can you confirm if we should be able to toggle between delete and cancel in modal using arrow keys?

Bump @Krishna2323 and @shubham1206agra on my comment above.

Not overdue, discussing in Slack.

@shubham1206agra, I'm unsure of the next steps. Did we validate the behavior? Can you make sure this is still reproducible?  Thanks!

Not overdue, we're still discussing this.

Any updates, @shubham1206agra ? I can bump the slack discussions.

@shubham1206agra, sorry for the delay in responding! I can't find the discussion in Slack. Can you please share the link so I can comment? Thanks!

Thanks, I just commented!
https://expensify.slack.com/archives/C01GTK53T8Q/p1716988518353269?thread_ts=1715341571.609419&cid=C01GTK53T8Q

waiting for answer in slack.

Hey @shubham1206agra, please confirm if you can still reproduce this, and if son, let's pick a proposal then. Thanks!

Bump @shubham1206agra on my comment above.

@shubham1206agra any updates here? Thanks!


AtakUid is null, no location sent

Meshtastic 2.0.14 and newest Forwarder. If device is managed by Forwarder it works, if managed by Meshtastic it does not. In the logging console, it says AtakUid=null despite being on the same channel and displaying the member name.

I'm not able to reproduce this -- I'm seeing markers with the device being managed by Meshtastic. Try clicking the "Broadcast Discovery" button and see if that sorts it out, the plugin uses that message to map ATAK UIDs to Meshtastic IDs. It may also be from having the Meshtastic app open in the background but that feels unlikely, still might be worth a try if you have it open.

I've hit the broadcast button a hundred times on both devices with no change.
Do you mean try NOT having Meshtastic open while ATAK is managing the device?

It is possible that my other issue is causing this? With the LongName ending in a special char?
It may be good to test that fix before tackling this one

I'll have to figure out how to set up Android Studio and test this; I might not have the bandwidth or knowledge to do this. My other thoughts are:

Is there a difference in tx between a T-beam and a RAK? As in is the broadcast message being truncated? This would be something I should test via meshtastic cli to see what the actual message being received is. I have not done cli messgaing before but I assume it's straightforward

The RAK4631 is the chipset being increasingly used in field/tactical applications so this may be one worth picking up and testing against going forward

Actually after doing more testing the plugin is failing to communicate at all. I uninstalled and reinstalled the plugin, disabled plugin manages device, conigured the channel via the Meshtastic app, and even when hitting broadcast, nothing happens, not even in the debug panel (which I have set to verbose). However in Meshtastic I can send messages to the channel and both devices get it instantly.

Ok I have it working now, with Meshtastic Android 2.0.14 and firmware 2.017. The versions listed in your releases blurb crash ATAK and Android 2.0.9 fails. Marking this as closed


EKF increase delta velocity variance while sensor is clipping

Mainly hacks for testing at this point.
Questions:
1. Is it worth handling this per axis? Clipping in Z is the most common.
Goes with ~~https://github.com/PX4/Firmware/pull/13103~~ https://github.com/PX4/Firmware/pull/14304.

What i would like to do here is to monitor the clipping count increase across each EKF state and covariance prediction  time step and scale the per axis sensor noise proportional to the clipping count increase on a per axis basis with the amount of increase determined from replay analysis .
We could add the clipping count to the IMU data uORB topic.

Alternatively we could publish the fraction of IMU samples affected in a given downsample IMU data message

So for example if the baseline noise is 0.3 and the clipping noise factor is 2.0, then the observation noise used would be 0.3 + 2.0 * clipping_fraction

Tracking clipping per axis breaks down with any non-orthogonal sensor or board rotation or board level. In PX4/Firmware the new sensor status messages will still track the count per axis, but it will just be a total clip count passed through to the estimator.

Good log from boot with a lot of clipping: https://logs.px4.io/plot_app?log=c795c4d4-c17c-403a-9bb4-0098d14375c9

This was tested in https://github.com/PX4/Firmware/pull/14304#issuecomment-609939435 and seems to be effective, although the flight log has too many dropouts to replay.


Errors in conditionals/vehicle-purchase?

Going over the conditionals exercise (vehicle-purchase), it has these two tests:
https://github.com/exercism/swift/blob/4dea7e2b6dc717d04c1e68cb1221dd33f6416df5/exercises/concept/vehicle-purchase/Tests/VehiclePurchaseTests/VehiclePurchaseTests.swift#L9-L11
https://github.com/exercism/swift/blob/4dea7e2b6dc717d04c1e68cb1221dd33f6416df5/exercises/concept/vehicle-purchase/Tests/VehiclePurchaseTests/VehiclePurchaseTests.swift#L23-L25
But the instructions say:

The function should return the following message based on the following conditions:

If the price of the vehicle is less than or equal to the monthly budget, return the message "Yes! I'm getting a <vehicle>".
If the price of the vehicle is 10% above your monthly budget, return the message "I'll have to be frugal if I want a <vehicle>".
If the price of the vehicle is more than 10% above your monthly budget, return the message "Darn! No <vehicle> for me".

516.32 is more than 10% above the monthly budget (100), so it shouldn't say yes. Likewise, 12,500 is quite a bit more than 10% over the monthly budget of 200, so it shouldn't say you have to be frugal.

It is not an error per say, the instructions say:

The auto dealers in your town are all running a five year, 0% interest promotion that you would like to take advantage of. But you are not sure if you can afford the monthly payments on the car you want.

So what you are suppose to do is take the price divide by the five years, and then by 12 months. So in total 60 months.
12,500 / 60 -> 208, and that is 10% above the rate.
I will update the instructions to highlight this manner, in a future update. Not sure when.

It is not an error per say, the instructions say: [...]

Ah right, that had slipped my mind by the time I got to the instructions. Would definitely be clearer to refer to the payment as the "price of the monthly payment" instead of the "price of the vehicle".


Ovveride all

Hello, I am trying to use this configuration on my workdir .vimrc file
let g:phpunit_args = "--configuration /cf/code/ZFCommon \" "
let g:phpunit_cmd = "VAGRANT_CWD=/cf/code/Ambrosia/ vagrant ssh -c \" phpunit "

After the first update the g:phpunit_argsworks perfectly! but g:phpunit_cmd is not override, if I load the vimrc
:source .vimrc

All works
Can you verify this problem?
Thanks

mmm strange
do you have something like this in your main .vimrc?
"allow project .vimrc
set exrc
"enable secure mode
set secure

Can you try to rename your project .vimrc to .exrc and try it again?
I have a similar configuration for docker:
let g:phpunit_cmd = "docker exec -i web_timeandcash bin/phpunit"
let g:phpunit_args = "--configuration app"
let g:relatedtest_php_src="src/"
let g:relatedtest_php_tests="src/"


Add an ephemeral response after user completes "/jira connect" flow

Repro steps:

Enable and configure the plugin using steps at https://github.com/mattermost/mattermost-plugin-jira
Use "/jira connect" to connect your Mattermost account with Jira
Complete the connection flow

Observed: No feedback sent back in Mattermost after completing the flow.
Proposed changes:

If the user successfully connects their account: Ephemeral message posted to user with text

You have successfully connected your Jira account (**{Jira email address}**).

If the connection is not successful: Ephemeral message posted to user with text

We were not able to connect your Jira account. Please try again later.

If the user had already connected their account: Ephemeral message posted to user with text

You already have a Jira account (**{Jira email address}**) connected. If you would like to connect another account, use `/jira disconnect` to first disconnect the existing one.

If you're interested please comment here and come join our "Contributors" community channel on our daily build server, where you can discuss questions with community members and the Mattermost core team. For technical advice or questions, please  join our "Plugin: Jira" community channel.
New contributors please see our Developer's Guide and our Plugins Guide.

@jfrerich looks like part of this was already implemented. Currently, when I run /jira connect I get You already have a Jira account linked to your Mattermost account. Please use /jira disconnect to disconnect. I'll investigate this further.

@AGMETEOR I think the ask is that the user gets both a DM and an ephemeral message in their current context; I'm 0/5 if it's a good idea/best practice indeed. @aaronrothschild @asaadmahmood can you please clarify?

@AGMETEOR, You are correct and I believe bullet #3 is also implemented.  I haven't verified bullet #2.  It is possible this is already implemented.  Let's wait a bit to hear back from PM and UX.

@AGMETEOR, You are correct and I believe bullet #3 is also implemented. I haven't verified bullet #2. It is possible this is already implemented. Let's wait a bit to hear back from PM and UX.

@jfrerich @AGMETEOR  I think we should add a DM from the Jira bot that says "Thanks for connecting your account {EMAIL_ADDRESS}, you can get started by typing /jira in your chat window" so the user knows what to do next.  The ephemeral message will be displayed wherever they are, but disappears on next reload of their client.  The Jira DM draws attention and directs the user what to do next IMO.
For #2, how long would we wait before we throw an error?

Adding ephemeral messages would need to be done around https://github.com/mattermost/mattermost-plugin-jira/blob/09711c0b034f9ce41568fe413f8f3b3d747e3c09/server/user_cloud.go#L110. One issue to solve is the missing channelID, needs to be added to mmToken at its origination, in https://github.com/mattermost/mattermost-plugin-jira/blob/09711c0b034f9ce41568fe413f8f3b3d747e3c09/server/instance.go#L28 and all of its callers (including the webapp?)

Hello, is this issue ready to be worked on?

cc @aaronrothschild @levb on above question

Hello, is this issue ready to be worked on?

@promulo I think it's ready to be worked on... any questions?

@aaronrothschild no questions yet, just checking if you're expecting any other input from other maintainers. I would like to give it a try if nobody else is working on it. :)

@promulo Awesome, give it a shot - I'll assign to you so no one else takes it up.  Thansk for contributing, let me @levb or @jfrerich if you have any questions or concerns!  Happy friday!

Perfect, thanks!

Hi @aaronrothschild, I have a question about what's expected here. The issue description mentions "ephemeral message posted to user", which I assumed where not DMs but messages on the channel the user is currently in. However, you mention in a comment that the user should get a DM instead. What are the requirements here? The current behavior seems to be the ephemeral message approach for the unsuccessful connection cases, are those supposed to become DMs as well? Thanks for clarifying.

Hi @aaronrothschild, I have a question about what's expected here. The issue description mentions "ephemeral message posted to user", which I assumed where not DMs but messages on the channel the user is currently in. However, you mention in a comment that the user should get a DM instead. What are the requirements here? The current behavior seems to be the ephemeral message approach for the unsuccessful connection cases, are those supposed to become DMs as well? Thanks for clarifying.

On success - I think we should send:

A DM from the JiraBot.  This message will persist in the DM so the user can go back and recall to type /jira
and an ephemeral message in whatever channel they are currently on (likely in the channel where they just clicked the "connect URL" to go to the oauth flow).  This will disappear after refresh and the user could forget how they invoke /jira.

On Failure, we should do the same.
cc @abhijit-singh any thoughts on this behavior?

@aaronrothschild I'm not sure if we should send a DM from the JiraBot in case of failure. Won't the user likely take the follow up action right there & then? But I'm 1/5 here.
Also, on success, the DM from JiraBot could also convey that 'this is where they'll get their personal notifications for mentions and issues assigned in Jira', - As per Personal Notifications: JiraBot

@aaronrothschild I'm not sure if we should send a DM from the JiraBot in case of failure. Won't the user likely take the follow up action right there & then? But I'm 1/5 here.

Good point, i think you're right.  No DM's for failure.

Also, on success, the DM from JiraBot could also convey that 'this is where they'll get their personal notifications for mentions and issues assigned in Jira', - As per Personal Notifications: JiraBot

Great idea, can you suggest the specific text we should insert so @promulo can use it?  thanks!

The DM from JiraBot could say - "Thanks for connecting your account {EMAIL_ADDRESS}, you can get started by typing /jira in your chat window. You'll get a post here whenever someone mentions you or assigns an issue to you in Jira."
cc @aaronrothschild

Hi, @aaronrothschild. I might have reached a kind of crossroad here. It seems things have changed since this issue was created. Please bear with me while I try to explain.
So, after some digging and testing, it seems that the handling of /jira connect happens in a different way than most of the other commands, including its counterpart /jira disconnect. Basically, it is all handled by the plugin webapp and not by the server. The reason for that is probably the OAuth flow. I'm not really well-versed in Typescript (or frontend in general), but from what I can see all the connect logic resides here, at least for cloud: https://github.com/mattermost/mattermost-plugin-jira/blob/master/webapp/src/actions/index.ts#L354. You can see that the even the ephemeral messages coming from the connect flow are different. They come from "System" instead of the "jira" bot.
The webapp seems to "intercept" the /jira connect command and redirect the flow to happen within the Typescript layer. Maybe the Go code is used only by the server flow? I could not test it with a server installation. The disconnect, on the other hand, is surely forwarded to the server, as it can be seen here: https://github.com/mattermost/mattermost-plugin-jira/blob/master/webapp/src/hooks/hooks.ts#L116.
It is possible to send an ephemeral message after the connect flow is done (see #711), but I couldn't see a way to easily retrieve the user e-mail. Also, I'm not sure how the DMs are handled from the webapp, if possible at all.
With all that being said, I'm not sure how to proceed. Some direction would be appreciated but it might be the case that you guys want to discuss this internally as this might be the case of a substantial rewrite.

I forgot to mention one thing. I checked if the webapp generated a custom webhook to the server but it does not seem the case. If it's possible to somehow generate a custom_jira_connect event/webhook from the plugin webapp and handle it server-side, that could be one way to go.

With all that said, I'm not quite sure how to proceed. Some direction would be appreciated but it might be the case that you guys want to discuss this internally as this might be the case of a substantial rewrite (or not :).

@promulo I'm not a developer, but I can see what you're saying happening.  I'm so sorry for the confusion here, going back - I can see this is an old issue and you're right - thing have likely changed quite a bit since then!   Sorry for not realizing earlier!

@aaronrothschild all good. Happy to give a bit more context if necessary, either here or on the plugin MM room. :)

@mickmister Any thoughts on this issue?

@promulo Since the connect process is handled client-side, then the posts can be made client-side. It is okay if it says System posted the message. There's an open ticket for that https://github.com/mattermost/mattermost-plugin-jira/issues/560 .
I believe there is also a server-handled portion for when the command is run on the mobile app. So the post would also need to be created for that case. This will likely make things more complicated though.
@promulo What are your thoughts on this? Does there seem to be a central place for this logic to go? IIRC the server is unaware of when the user has finished their OAuth process, and we can't any custom plugin functionality into the mobile app. This may only be supported in the context of connecting from the browser.

Hi @mickmister, thanks for the input. From what I could verify, the server-side [executeConnect](https://github.com/mattermost/mattermost-plugin-jira/blob/master/server/command.go#L410) is never reached during the OAuth flow for Jira cloud. It may be the case that that code is executed for on-prem Jira but I could not test this case.
One thing I wanted to try was to leverage the server's webhook handling logic and somehow generate a custom_jira_connect webhook from the client. That could make it easier to send the DM from the Jira bot to the user. However, my TypeScript skills are rather limited and I'm not sure if that is possible at all.
Does that make sense?

@promulo
If the client is aware that an ephemeral message needs to be posted, then I recommend just creating it client-side and not worry about getting the server involved. There should be a sendEphemeralPost function being used throughout the webapp side of the plugin. It is okay that the message will say System. Does this make sense? I may be missing something else here with the complications of the code.

Hi @mickmister, that was already done by #711 . The problem is that the issue requirements (check above comments by @aaronrothschild and @abhijit-singh) also include a DM from the Jira bot and displaying the user e-mail in the ephemeral message. Those requirements I'm not sure can be handled by the client.

@promulo Understood. I think sending a ping to the server saying the user is connected is the right thing to do then, as you suggested. The websocket events are mainly meant for server -> client communication, so I suggest using the API to communicate to the server instead of creating a new websocket event. Maybe a user-has-connected endpoint?

Thanks @mickmister, that sounds good to me. I'll have a look and see what I can come up with.

Should that maybe be done in a separate PR? 🤔 So by merging #711 we'd have at least something the user can see in the meantime.

@promulo Sounds good to me :+1:


podman run --cgroup-parent: missing cleanup on exit?

[insert standard disclaimer about me not grokking cgroups]
podman seems to be leaving cruft behind in /sys/fs/cgroup/:
# podman run --rm --cgroup-parent=aaaa.slice fedora true
# podman run --rm --cgroup-parent=aaaa.slice fedora true
# ls -l /sys/fs/cgroup/pids/aaaa.slice
total 0
-rw-r--r--. 1 root root 0 Mar 15 13:35 cgroup.clone_children
-rw-r--r--. 1 root root 0 Mar 15 13:35 cgroup.procs
drwxr-xr-x. 2 root root 0 Mar 15 13:35 libpod-conmon-460527d9b[...]   <<<<------
drwxr-xr-x. 2 root root 0 Mar 15 13:35 libpod-conmon-c83c79605[...]   <<<<------
-rw-r--r--. 1 root root 0 Mar 15 13:35 notify_on_release
-r--r--r--. 1 root root 0 Mar 15 13:35 pids.current
-r--r--r--. 1 root root 0 Mar 15 13:35 pids.events
-rw-r--r--. 1 root root 0 Mar 15 13:35 pids.max
-rw-r--r--. 1 root root 0 Mar 15 13:35 tasks

The two entries flagged with <<<<------: should they be removed upon container termination?
Comparison with docker:
# docker run --rm --cgroup-parent=aaaa.slice fedora true
# docker run --rm  --cgroup-parent=aaaa.slice fedora true
# ls -l /sys/fs/cgroup/pids/aaaa.slice
[no docker-*.scope entries]

Same docker behavior without --rm, i.e. the scope entry is removed upon container stop, not removal.

I'm going to self-assign this one and poke at it once restart is merged. I imagine we're missing some steps during container cleanup.

I'm fairly certain this (and probably validation) have something to do with https://github.com/kubernetes-incubator/cri-o/blob/master/server/sandbox_run.go#L379-L400 being missing from our OCI spec generation - as such CGroups aren't being passed properly to runc, which is not cleaning them up properly

Fixed by #507


Removing Go task from build

@aydey can you please create a story to enable this task back once TFS update is forked


Styling issue in access counter

Environment
Host

item
version

OS
cos-beta-81-12871-44-0

GROWI
4.0.2

node.js
12.17.0

npm
6.14.4

Using Docker
yes (k8s)

Using growi-docker-compose
no

(Accessing https://{GROWI_HOST}/admin helps you to fill in above versions)
Client

item
version

OS
Windows 10 Pro 2004 19041.264

browser
Google Chrome 83.0.4103.61

How to reproduce? (再現手順)

Create tens or hundreds of users.
Access / from all users.

What happens? (症状)

Styling issue in access counter

What is the expected result? (期待される動作)

Properly styled.

@shield-9 Fixed.
Please wait next v4.0.3 release.


Compilation error with arm-none-eabi-g++ and std=c++11

In file included from /home/chenlijun/Repositories/Kerr/street-light/third-party/cpputest/include/CppUTest/Utest.h:34:0,
                 from /home/chenlijun/Repositories/Kerr/street-light/third-party/cpputest/include/CppUTest/TestHarness.h:39,
                 from /home/chenlijun/Repositories/Kerr/street-light/third-party/cpputest/src/CppUTest/CommandLineArguments.cpp:28:
/home/chenlijun/Repositories/Kerr/street-light/third-party/cpputest/include/CppUTest/SimpleString.h:178:36: error: 'nullptr_t' in namespace 'std' does not name a type
 SimpleString StringFrom(const std::nullptr_t value);
                                    ^~~~~~~~~

It seems that the arm toolchain doesn't support std::nullptr_t

From here, though this document is related to armcc and not arm-none-eabi-g++.
Some possible solutions:

as ARM suggests, define this somewhere (I'm new to the codebase and I've no idea of the best location)namespace std
{
   typedef decltype(nullptr) nullptr_t;
}

Don't use C++11 with ARM compiler
change this #if __cplusplus > 199711L to #if __cplusplus > 199711L && !defined __arm__

I think the third one makes most sense (to me). Will you make a PR?

Certainly! It's a pleasure.


iconize:IconButton doesn't work

I tried to use the iconize:IconButton but didn't find any sample so I looked at the code and I don't see anything added to the regular Button. I checked the Mateial version:  <mi:IconButton Icon="ic_check_circle" and think the iconize one should have the same binding property ?
great work, thanks.

I am planning on getting some documentation together but it's basically a port of Iconify. So to add an icon (or more than one) you just put it in the text. Ex: "{fa-500px} 500px"
See Iconify here: http://joanzapata.com/android-iconify/

I tried that one and others combinations several times without success;
<iconize:IconButton Text="{fa-500px} 500px" />
above code throw this: System.Exception: Expression must end with '}'
this code doesn't fail at compile time but just print:  {fa-500px} 500px and desired is to replace {fa-500px} for font icon:
<iconize:IconButton Text="{}{fa-500px} 500px" />
<iconize:IconButton Text="{Binding Key, StringFormat='{}{{{0}}} {0}'}" />
<iconize:IconButton Text="{Binding Key, StringFormat='{{{0}}} {0}'}" />

Tried to pass text from ViewModel fail too:
xaml: <iconize:IconButton  Text="{Binding TestIcon}" />
ViewModel: TestIcon = "{fa-500px} fa-500px";

I too wrapped the font key in brackets and this is the final output.

The library no longer works in that manner. I hope to provide a future update to bring that functionality back.

How do you add an Icon to a button in the current implementation then?

<iconize:IconButton Text="fa-lock" />

Maybe this will save someone else the trouble- and I don't want to create an issue because it's not an issue with Iconize, but I spent a good chunk of yesterday figuring out that using any of the Themes that Xamarin is currently previewing interferes with Iconize.
It pretty much prevents any Font from replacing the Theme font- even if done programmatically.
Just a heads up for anyone else that runs up on this issue- and thinks it may have to do with their configuration or some missing step.
https://developer.xamarin.com/guides/xamarin-forms/themes/

@jsmarcus I cant use IconButton with a custom text inside?


Can't find regular_nd

Hi,
After I install this package, I try to load in python:
from tfinterp import regular_nd
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: cannot import name 'regular_nd' from 'tfinterp' (/Users/tiantian/Documents/software/tf.interp/tfinterp/__init__.py)

Any ideas to fix it? Thanks.

Same problem here. I'm looking for something that will perform 1d linear interpolation in tensorflow. But unfortunately I can't find a solution. Creating a custom one has the challenge of implementing the gradient.

This normally means that you are trying to load it from Python within the source directory. If you want to do that, you'll need to install using
python setup.py build_ext --inplace

or
python setup.py develop

Aha! That worked. Thank you Dan!

Awesome - glad to hear it!


[DO NOT MERGE] Adding the NorthSouth API for Public Preview

Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[x] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[ ] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

Can one of the admins verify this patch?

Automation for azure-sdk-for-ruby

Automation for azure-sdk-for-go

Automation for azure-sdk-for-js

Automation for azure-sdk-for-python

Automation for azure-sdk-for-node

Automation for azure-sdk-for-java

@MatanShabtay have these APIs been reviewed by ARM?

@MatanShabtay have these APIs been reviewed by ARM?

This resource type exists in the manifest and it's swagger was reviewed in the PR below, however the PR wasn't completed as this resource is currently in private preview.
We are working towards public preview and following recent changes in the requirements, the API completely changed.
Note that its not considered as a breaking change since we are still under private preview.
https://github.com/Azure/azure-rest-api-specs/pull/3669
Once you confirm the PR please ask ARM to review as well.
Thanks.

@ravbhatnagar FYI for ARM review.

Hi,
Apologies for the late push but I just noticed that I forgot to add a POST action on the resource so I've added it.
Hopefully I didn't cause any trouble.
Thanks in advance.

@MatanShabtay - let's schedule a quick meeting to understand these changes (ARM api review)

@MatanShabtay any update?  Also there's a merge conflict that needs to be resolved.

@MatanShabtay any update? Also there's a merge conflict that needs to be resolved.

Hi,
Due to marketing decisions the respirce name is about to change from adaptiveNetworkControls to adaptiveNetworkHardenings.
We will soon update the PR with the new resource name.
Should there be any concern about us changing the name, please let me know.
Thanks.

Hi @jhendrixMSFT & @KrisBash , Due to marketing decisions I have renamed the resource type name to adaptiveNetworkHardenings from adaptiveNetworkControls & resolved the merge conflicts.
Please review before we will update the manifest and add the new resource type

Hey @jhendrixMSFT , waiting for your approval.
Can you then refer someone from ARV to review?
Thanks.

@MatanShabtay has this functionality been deployed yet?  I still see DoNotMerge label

Automation for azure-sdk-for-net
A PR has been created for you:
https://github.com/azure/azure-sdk-for-net/pull/5339
.NET SDK Commits:
https://github.com/adxsdknet/azure-sdk-for-net/pull/5339/commits/3f8ddd476ad09fbab1ef163efae0a0a36dd6a2bb

@MatanShabtay hello any update?

Hi @jhendrixMSFT ,
The API has been deployed and we ready to complete this PR.
Thanks.

@MatanShabtay I don't see the new swagger referenced in the readme.md file so some SDK won't get the new APIs generated for them.  Is this intentional?

@MatanShabtay I don't see the new swagger referenced in the readme.md file so some SDK won't get the new APIs generated for them. Is this intentional?

Hey, I've fixed it.
I see that the Avocado check is failing but based on the error message it doesnt to be related to my PR.
Can you please confirm this ?

@MatanShabtay it's not but has been fixed in a separate PR.


[WIP] Add compatibility for MariaDB 10.2

From local testing, the proposed change allows verity to start up with both MariaDB 10.2 and 10.4. I'll need to verify the rest.

Running the tests locally against mariadb/server:10.2, everything seems to work.

Running the tests locally against mariadb/server:10.2, everything seems to work.

Thanks man :+1:
I'm not sure why the tests haven't run here but I'll merge this anyway so you can move on.

Thanks man :+1:
I'm not sure why the tests haven't run here but I'll merge this anyway so you can move on.


Prepare release v0.1.0

Initial implementation #3
Added the changelog

:sparkles: No lint errors found. :sparkles:

Coverage remained the same at 100.0% when pulling c7c4ff82907d6f4243eac8c2961872132dba2d63 on prepare-release into ed093c28dfc4432a10b99aa909468aee8fc05d83 on master.

👍


Locale must be of the form  or -

TypeScript Version:  2.3
When I try to publish web site from VS2017 I get following error:

Locale must be of the form <language> or <language>-<territory>. For example 'en' or 'ja-jp'.

In output window there is this line:

C:\Program Files (x86)\Microsoft SDKs\TypeScript\2.3\tsc.exe --project "C:\VS_Projects\MyWebProject\tsconfig.json" --listEmittedFiles --locale bs-Latn-BA

I didn't set --locale anywhere, it was set either by operating system or visual studio.
Edit: Probably not important for this, but if I publish to folder, instead of web deploy, VS2017 will publish it with locale en-US.

As a workaround, set the PreferedUILang in your project to a different language, e.g. en-us
  <PropertyGroup>
    <PreferredUILang>en-us</PreferredUILang>
  </PropertyGroup>

Can confirm also happens in TypeScript 2.2

What OS and VS versions are you using? Have you customized your language settings somehow?

Win 10 Creators Update with VS2017 (15.2 - 26430.16) Release.
Customized language settings? That's the weird part, I work in latin america, but all my dev is in english, my keyboard is dvorak-spanish, does that count?

bs-Latn-BA = Bosnian (Bosnia and Herzegovina, Latin) for what it's worth
we should be able to parse locales like this.

@hmendozap Are you still running into this? Do you have a build log you can share?

I don't have enough details to make progress on this. As far as I can tell the locale passed into tsc.exe has to be one of the supported VS display languages, which this isn't one of. Without a project file / build log I'm not going to be able to understand where this string came from. Closing the issue.


Better handling of out-of-sync clocks

As https://github.com/coreos/flannel/issues/337 demonstrates, if flannel node's clock falls behind etcd, it causes problems. It's easy to detect that the new expiration is in the past (or maybe not far enough in the future) and complain in the logs. Also, slow down on acquiring a new lease.

See also https://github.com/coreos/flannel/issues/404


[CompilerPerf] Optimize Mapfold

@dsyme
Can you run the compilerperf script to see if this makes a difference?
This is attempt to optimize the mapFold function in illib, which is called a lot.
I first measured the size of the lists that get passed into it by using fsc to compile the FSharp.Core library and having it output to console the size of the lists. I found that around 42% of all the lists passed in are empty, 39% of all the lists passed in have size 1, and 14% of all lists passed in have size 2. Here's a graph displaying it (note the log scale).

Because of this I added in extra conditions to optimize for the null and size 1 cases. For larger lists, I use List.mapFold because that prevents us having to use List.rev, which is quite expensive. Below are my benchmark results and the script I used to generate it. It is marginally faster for size 0 and 1 lists and much faster for lists larger than that.

Method
Jit
Platform
count
Mean
StdDev
Gen 0
Allocated
Gen 0

mapFoldLibrary
LegacyJit
X86
0
7.9820 ns
0.1351 ns
0.0084
28 B
232.09

old
LegacyJit
X86
0
10.2546 ns
0.0811 ns
0.0081
28 B
197.42

mapFoldLibrary
RyuJit
X64
0
9.8685 ns
0.2399 ns
0.0170
56 B
372.15

old
RyuJit
X64
0
12.6970 ns
0.3386 ns
0.0170
56 B
342.35

mapFoldLibrary
LegacyJit
X86
1
36.0709 ns
0.6886 ns
0.0173
60 B
476.19

old
LegacyJit
X86
1
38.5328 ns
0.4145 ns
0.0174
60 B
412.70

mapFoldLibrary
RyuJit
X64
1
22.1181 ns
0.1698 ns
0.0339
112 B
774.00

old
RyuJit
X64
1
25.6891 ns
0.3070 ns
0.0339
112 B
684.60

mapFoldLibrary
LegacyJit
X86
2
50.4253 ns
0.4492 ns
0.0259
92 B
609.00

old
LegacyJit
X86
2
76.3954 ns
0.3959 ns
0.0361
124 B
953.79

mapFoldLibrary
RyuJit
X64
2
40.0407 ns
0.2898 ns
0.0518
168 B
1,100.36

old
RyuJit
X64
2
49.3331 ns
0.1614 ns
0.0706
232 B
1,543.40

mapFoldLibrary
LegacyJit
X86
3
58.8695 ns
0.4564 ns
0.0364
124 B
947.50

old
LegacyJit
X86
3
106.5111 ns
1.2117 ns
0.0483
172 B
1,047.20

mapFoldLibrary
RyuJit
X64
3
50.3711 ns
0.7742 ns
0.0680
224 B
1,488.60

old
RyuJit
X64
3
67.6240 ns
0.3922 ns
0.0985
320 B
2,128.60

mapFoldLibrary
LegacyJit
X86
4
67.2295 ns
0.1917 ns
0.0464
156 B
950.80

old
LegacyJit
X86
4
136.2848 ns
0.5413 ns
0.0634
220 B
1,750.15

mapFoldLibrary
RyuJit
X64
4
61.6003 ns
0.2595 ns
0.0859
280 B
1,714.00

old
RyuJit
X64
4
86.0856 ns
0.6507 ns
0.1234
408 B
3,057.18

mapFoldLibrary
LegacyJit
X86
5
76.8845 ns
0.3080 ns
0.0565
188 B
1,248.60

old
LegacyJit
X86
5
167.2817 ns
2.7596 ns
0.0786
268 B
1,905.00

mapFoldLibrary
RyuJit
X64
5
71.2625 ns
0.4908 ns
0.1035
336 B
2,296.93

old
RyuJit
X64
5
104.8573 ns
0.6288 ns
0.1507
496 B
4,261.38

mapFoldLibrary
LegacyJit
X86
10
124.1846 ns
3.7853 ns
0.1039
348 B
2,373.00

old
LegacyJit
X86
10
327.2854 ns
4.6879 ns
0.1485
508 B
4,220.00

mapFoldLibrary
RyuJit
X64
10
120.4639 ns
1.4605 ns
0.1894
616 B
4,213.29

old
RyuJit
X64
10
205.6105 ns
3.1472 ns
0.2851
936 B
5,714.40

wow

I reran the benchmark with the latest commit, which uses an OptimizedClosure even for lists of size 1, which makes quite a big difference for x86. I also included a list of size 200.

Method
Jit
Platform
count
Mean
StdDev
Median
Gen 0
Allocated
Gen 0

mapFoldLibrary
LegacyJit
X86
0
8.4156 ns
0.2867 ns
8.3025 ns
0.0086
28 B
20.17

old
LegacyJit
X86
0
10.5356 ns
0.0431 ns
10.5390 ns
0.0087
28 B
18.37

mapFoldLibrary
RyuJit
X64
0
8.9394 ns
0.0521 ns
8.9444 ns
0.0175
56 B
34.45

old
RyuJit
X64
0
11.3318 ns
0.0449 ns
11.3378 ns
0.0175
56 B
37.61

mapFoldLibrary
LegacyJit
X86
1
20.1550 ns
0.0729 ns
20.1465 ns
0.0185
60 B
36.50

old
LegacyJit
X86
1
37.5498 ns
0.1217 ns
37.5273 ns
0.0185
60 B
35.28

mapFoldLibrary
RyuJit
X64
1
22.6510 ns
0.0547 ns
22.6488 ns
0.0351
112 B
73.50

old
RyuJit
X64
1
25.0650 ns
0.0735 ns
25.0641 ns
0.0350
112 B
81.65

mapFoldLibrary
LegacyJit
X86
2
47.1284 ns
0.3933 ns
47.2077 ns
0.0281
92 B
55.07

old
LegacyJit
X86
2
74.3761 ns
0.1504 ns
74.3878 ns
0.0384
124 B
73.24

mapFoldLibrary
RyuJit
X64
2
37.9762 ns
0.1207 ns
37.9530 ns
0.0528
168 B
103.35

old
RyuJit
X64
2
48.4527 ns
0.1928 ns
48.4350 ns
0.0727
232 B
142.39

mapFoldLibrary
LegacyJit
X86
3
55.9078 ns
0.7202 ns
55.7897 ns
0.0385
124 B
81.38

old
LegacyJit
X86
3
103.7128 ns
0.5762 ns
103.5408 ns
0.0526
172 B
114.98

mapFoldLibrary
RyuJit
X64
3
47.8466 ns
0.4055 ns
47.7283 ns
0.0702
224 B
143.80

old
RyuJit
X64
3
65.6070 ns
0.6674 ns
65.8029 ns
0.1007
320 B
204.67

mapFoldLibrary
LegacyJit
X86
4
64.7824 ns
0.6187 ns
64.5236 ns
0.0484
156 B
93.75

old
LegacyJit
X86
4
132.1718 ns
1.2091 ns
132.4878 ns
0.0679
220 B
135.02

mapFoldLibrary
RyuJit
X64
4
57.9229 ns
0.5386 ns
57.7049 ns
0.0880
280 B
171.88

old
RyuJit
X64
4
84.8074 ns
0.2946 ns
84.7772 ns
0.1285
408 B
241.08

mapFoldLibrary
LegacyJit
X86
5
73.1281 ns
0.2990 ns
73.0463 ns
0.0587
188 B
115.19

old
LegacyJit
X86
5
162.0976 ns
1.6367 ns
161.7521 ns
0.0831
268 B
168.11

mapFoldLibrary
RyuJit
X64
5
67.3089 ns
0.2145 ns
67.3206 ns
0.1056
336 B
223.13

old
RyuJit
X64
5
102.7672 ns
0.7567 ns
102.9256 ns
0.1555
496 B
310.49

mapFoldLibrary
LegacyJit
X86
10
117.1620 ns
1.4002 ns
116.7370 ns
0.1084
348 B
222.90

old
LegacyJit
X86
10
314.5876 ns
2.6753 ns
315.1066 ns
0.1578
508 B
333.40

mapFoldLibrary
RyuJit
X64
10
117.6482 ns
0.3742 ns
117.6242 ns
0.1937
616 B
384.30

old
RyuJit
X64
10
201.4086 ns
0.5629 ns
201.4625 ns
0.2932
936 B
552.23

mapFoldLibrary
LegacyJit
X86
200
1,789.0379 ns
6.4853 ns
1,789.4405 ns
2.0108
6.43 kB
4,174.38

old
LegacyJit
X86
200
5,941.7822 ns
49.1143 ns
5,953.1631 ns
2.9492
9.63 kB
5,797.00

mapFoldLibrary
RyuJit
X64
200
1,996.1305 ns
6.7861 ns
1,997.3284 ns
3.5443
11.26 kB
7,476.49

old
RyuJit
X64
200
3,747.8527 ns
14.4366 ns
3,749.0509 ns
5.5487
17.66 kB
11,528.85

@liboz I added some perf results here https://github.com/dsyme/visualfsharp/blob/2c3cece77c1287c5c0464d6f59759700d3cf4e70/tests/scripts/compiler-perf-results.txt
Some of the numbers look erratic - but overall I see only very small differences at the most for commit 38e74ec89ada4bdd277be989a8aecfd855d1aaff , e.g. 30.4 instead of 30.9 for parseonly-to-check.  Certainly there's no harm done but I think that mapFold doesn't dominate overall time

@liboz @dsyme
Do you have any recommendations for this PR?
Kevin


Fix ClosureSpecialize. Don't insert releases in readonly functions.

For now, disable specialization when it would result in adding releases to readnone, readonly, or releasenone functions.
Fixes rdar://105887096
TODO: A @noescape closure should never be converted to an @owned argument regardless of the function attribute.

@swift-ci test

@swift-ci benchmark


publish SMI repo artifacts

push smi-metrics and smi-istio-adapter images to DockerHub.

As part of this I created DockerHub accounts for CI (smimetricsci, smiistioci), updated env vars in CircleCI config, creates image repos, and stored creds for accounts in azure key vault (added @lachie83) to it. smi-metrics and smi-adapter-isto both are now publishing images to DockerHub with every merge to master.


Added the capability of changing the default DNP port in the default.ini

For the testing I am doing I find it useful to test using different ports.

Thanks.
Would also be good to migrate this to the recent 2.2.0 opendnp3 release. Minor API changes, but lots of good bug fixes:
https://github.com/automatak/dnp3/blob/2.0.x/CHANGELOG.markdown


n_drops_pf=1 about every hour on GKE

Describe the bug
* Setting up /usr/src links from host
* Running falco-driver-loader with: driver=bpf, compile=yes, download=yes
* Mounting debugfs
* Found kernel config at /proc/config.gz
* COS detected (build 11647.293.0), using cos kernel headers
* Downloading https://storage.googleapis.com/cos-tools/11647.293.0/kernel-headers.tgz
* Extracting kernel sources
* Configuring kernel
* Trying to compile the eBPF probe (falco_cos_4.14.138+_1.o)
* Skipping download, eBPF probe is already present in /root/.falco/falco_cos_4.14.138+_1.o
* eBPF probe located in /root/.falco/falco_cos_4.14.138+_1.o
* Success: eBPF probe symlinked to /root/.falco/falco-bpf.o
Thu Jul  9 07:54:06 2020: Falco initialized with configuration file /etc/falco/falco.yaml
Thu Jul  9 07:54:06 2020: Loading rules from file /etc/falco/falco_rules.yaml:
Thu Jul  9 07:54:07 2020: Loading rules from file /etc/falco/falco_rules.local.yaml:
Thu Jul  9 07:54:10 2020: Starting internal webserver, listening on port 8765
07:54:09.525266000: Notice Privileged container started (user=<NA> command=container:7c643353072a k8s.ns=kube-system k8s.pod=kube-proxy-gke-leogr-debug-default-pool-2f35d8bf-4w3z container=7c643353072a image=gke.gcr.io/kube-proxy:v1.14.10-gke.3
6) k8s.ns=kube-system k8s.pod=kube-proxy-gke-leogr-debug-default-pool-2f35d8bf-4w3z container=7c643353072a
07:54:10.525207000: Notice Privileged container started (user=<NA> command=container:f4036115a05f k8s.ns=default k8s.pod=falco-gm79w container=f4036115a05f image=falcosecurity/falco:0.23.0) k8s.ns=default k8s.pod=falco-gm79w container=f4036115a
05f
08:37:43.512810911: Critical Falco internal: syscall event drop. 1 system calls dropped in last second. (ebpf_enabled=1 n_drops=1 n_drops_buffer=0 n_drops_bug=0 n_drops_pf=1 n_evts=17395)
09:37:48.395474981: Critical Falco internal: syscall event drop. 1 system calls dropped in last second. (ebpf_enabled=1 n_drops=1 n_drops_buffer=0 n_drops_bug=0 n_drops_pf=1 n_evts=10423)
10:38:17.600392774: Critical Falco internal: syscall event drop. 1 system calls dropped in last second. (ebpf_enabled=1 n_drops=1 n_drops_buffer=0 n_drops_bug=0 n_drops_pf=1 n_evts=22288)
11:38:47.840878513: Critical Falco internal: syscall event drop. 1 system calls dropped in last second. (ebpf_enabled=1 n_drops=1 n_drops_buffer=0 n_drops_bug=0 n_drops_pf=1 n_evts=6029)
12:39:18.099373004: Critical Falco internal: syscall event drop. 1 system calls dropped in last second. (ebpf_enabled=1 n_drops=1 n_drops_buffer=0 n_drops_bug=0 n_drops_pf=1 n_evts=19122)
13:39:38.037046182: Critical Falco internal: syscall event drop. 1 system calls dropped in last second. (ebpf_enabled=1 n_drops=1 n_drops_buffer=0 n_drops_bug=0 n_drops_pf=1 n_evts=8274)

How to reproduce it
Just install Falco on a GKE cluster
Expected behaviour
No n_drops_pf drops.
Screenshots
Environment

Falco version: 0.23.0
System info:

{
  "machine": "x86_64",
  "nodename": "gke-leogr-debug-default-pool-2f35d8bf-4w3z",
  "release": "4.14.138+",
  "sysname": "Linux",
  "version": "#1 SMP Tue Sep 3 02:58:08 PDT 2019"
}

Cloud provider or hardware configuration: GKE
OS:

BUILD_ID=11647.293.0
NAME="Container-Optimized OS"
KERNEL_COMMIT_ID=ed61fe8747ee554d56511964d50289d4bf547083
GOOGLE_CRASH_ID=Lakitu
VERSION_ID=73
BUG_REPORT_URL="https://cloud.google.com/container-optimized-os/docs/resources/support-policy#contact_us"
PRETTY_NAME="Container-Optimized OS from Google"
VERSION=73
GOOGLE_METRICS_PRODUCT_ID=26
HOME_URL="https://cloud.google.com/container-optimized-os/docs"
ID=cos

Kernel:
Linux gke-leogr-debug-default-pool-2f35d8bf-4w3z 4.14.138+ #1 SMP Tue Sep 3 02:58:08 PDT 2019 x86_64 GNU/Linux
Installation method:
helm install falco falcosecurity/falco --set ebpf.enabled=true
Chart version 1.1.9

Additional context
First time discovered in this comment

I've found a possible correlation.
Looking into journalctl of the COS system I found:
Jul 09 08:37:43 gke-leogr-debug-default-pool-2f35d8bf-4w3z device_policy_manager[418]: E0709 08:37:43.377616     418 main.go:517] The name org.chromium.UpdateEngine was not provided by any .service files
Jul 09 08:37:43 gke-leogr-debug-default-pool-2f35d8bf-4w3z systemd[1]: Starting Crash Sender...
Jul 09 08:37:43 gke-leogr-debug-default-pool-2f35d8bf-4w3z crash_sender[17162]: Failed to call method: org.chromium.SessionManagerInterface.RetrieveActiveSessions: object_path= /org/chromium/SessionManager: org.freedesktop.DBus.Error.ServiceUnk
Jul 09 08:37:43 gke-leogr-debug-default-pool-2f35d8bf-4w3z crash_sender[17162]: CallMethodAndBlockWithTimeout(...): Domain=dbus, Code=org.freedesktop.DBus.Error.ServiceUnknown, Message=The name org.chromium.SessionManager was not provided by an
Jul 09 08:37:43 gke-leogr-debug-default-pool-2f35d8bf-4w3z crash_sender[17162]: Error calling D-Bus proxy call to interface '/org/chromium/SessionManager': The name org.chromium.SessionManager was not provided by any .service files
Jul 09 08:37:43 gke-leogr-debug-default-pool-2f35d8bf-4w3z systemd[1]: Started Crash Sender.

Jul 09 09:37:43 gke-leogr-debug-default-pool-2f35d8bf-4w3z device_policy_manager[418]: E0709 09:37:43.377608     418 main.go:517] The name org.chromium.UpdateEngine was not provided by any .service files
Jul 09 09:37:47 gke-leogr-debug-default-pool-2f35d8bf-4w3z systemd[1]: Starting Crash Sender...
Jul 09 09:37:47 gke-leogr-debug-default-pool-2f35d8bf-4w3z crash_sender[29775]: Failed to call method: org.chromium.SessionManagerInterface.RetrieveActiveSessions: object_path= /org/chromium/SessionManager: org.freedesktop.DBus.Error.ServiceUnk
Jul 09 09:37:47 gke-leogr-debug-default-pool-2f35d8bf-4w3z crash_sender[29775]: CallMethodAndBlockWithTimeout(...): Domain=dbus, Code=org.freedesktop.DBus.Error.ServiceUnknown, Message=The name org.chromium.SessionManager was not provided by an
Jul 09 09:37:47 gke-leogr-debug-default-pool-2f35d8bf-4w3z crash_sender[29775]: Error calling D-Bus proxy call to interface '/org/chromium/SessionManager': The name org.chromium.SessionManager was not provided by any .service files
Jul 09 09:37:47 gke-leogr-debug-default-pool-2f35d8bf-4w3z systemd[1]: Started Crash Sender.

Jul 09 10:38:17 gke-leogr-debug-default-pool-2f35d8bf-4w3z systemd[1]: Starting Crash Sender...
Jul 09 10:38:17 gke-leogr-debug-default-pool-2f35d8bf-4w3z crash_sender[42480]: Failed to call method: org.chromium.SessionManagerInterface.RetrieveActiveSessions: object_path= /org/chromium/SessionManager: org.freedesktop.DBus.Error.ServiceUnk
Jul 09 10:38:17 gke-leogr-debug-default-pool-2f35d8bf-4w3z crash_sender[42480]: CallMethodAndBlockWithTimeout(...): Domain=dbus, Code=org.freedesktop.DBus.Error.ServiceUnknown, Message=The name org.chromium.SessionManager was not provided by an
Jul 09 10:38:17 gke-leogr-debug-default-pool-2f35d8bf-4w3z crash_sender[42480]: Error calling D-Bus proxy call to interface '/org/chromium/SessionManager': The name org.chromium.SessionManager was not provided by any .service files
Jul 09 10:38:17 gke-leogr-debug-default-pool-2f35d8bf-4w3z systemd[1]: Started Crash Sender.

...and so on, the timing perfectly matches with n_drops_pf=1 drops.
The crashing process might explain the pf drop (ie. page fault, AFAIK it's related to invalid memory access).

This looks like a leftover from ChromeOS.
Have you been able to reproduce the problem manually? If you do we can get a clue why this crash it's causing the invalid memory access. Hint, it shouldn't.

/help

@leogr:
This request has been marked as needing help from a contributor.
Please ensure the request meets the requirements listed here.
If this request no longer meets these requirements, the label can be removed
by commenting with the /remove-help command.

In response to this:

/help

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle rotten

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle rotten

/remove-lifecycle rotten

/remove-lifecycle rotten

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

/remove-lifecycle stale

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle stale

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.
If this issue is safe to close now please do so with /close.
Provide feedback via https://github.com/falcosecurity/community.
/lifecycle rotten

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Provide feedback via https://github.com/falcosecurity/community.
/close

@poiana: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.
Provide feedback via https://github.com/falcosecurity/community.
/close

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.


Fix Triple Hit mechanics in Gen 2

Don't use multi accuracy setting
Set multihit between 1 and 3 randomly, as it has been mentioned in the issue https://github.com/Zarel/Pokemon-Showdown/issues/3239 (scripts should automatically do a random distribution if the ratio is not between 2 and 5)

Thanks!


:boom: Feat: remove test actions from MemoryClient

Description
Concise description of proposed changes
Testing
Explain the quality checks that have been done on the code changes
Additional Information

[ ] I read the contributing docs (if this is your first contribution)

Your ENS/address:

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#1158  👈
#1156
#1154
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @roninjin10 and the rest of your teammates on  Graphite


Roles broken when added to new server

RC24 Bot complains when it's added to a new server.

This is the same bug as #33, though I'll make this the main thread.
It should just be sufficient to for now set it as you would otherwise: !config setrole dev <etc>, despite the names being shortened.

This isn't fixed, the underlying issue is still broken. It has something to do with how full_name is passed.


slurm: move perl to nativeBuildInputs, set strictDeps

Description of changes

Things done

Built on platform(s)

[x] x86_64-linux
[x] riscv64-linux (cross)
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

This modification seems to break tests?

This modification seems to break tests?

strictDeps seems to have messed up the configure process.


Samba (nmbd) 4.3.11 crashes

Issue description
Samba nmbd exits with the following message:
Sep 27 20:27:39 cleopatra systemd[1]: Started Samba Service Daemon nmbd.
Sep 27 20:27:39 cleopatra nmbd[3612]: [2016/09/27 20:27:39.410252,  0] ../lib/util/become_daemon.c:124(daemon_ready)
Sep 27 20:27:39 cleopatra nmbd[3612]:   STATUS=daemon 'nmbd' finished starting up and ready to serve connections
Sep 27 20:27:39 cleopatra nmbd[3612]: [2016/09/27 20:27:39.411152,  0] ../lib/util/fault.c:78(fault_report)
Sep 27 20:27:39 cleopatra nmbd[3612]:   ===============================================================
Sep 27 20:27:39 cleopatra nmbd[3612]: [2016/09/27 20:27:39.412060,  0] ../lib/util/fault.c:79(fault_report)
Sep 27 20:27:39 cleopatra nmbd[3612]:   INTERNAL ERROR: Signal 11 in pid 3612 (4.3.11)
Sep 27 20:27:39 cleopatra nmbd[3612]:   Please read the Trouble-Shooting section of the Samba HOWTO
Sep 27 20:27:39 cleopatra nmbd[3612]: [2016/09/27 20:27:39.412328,  0] ../lib/util/fault.c:81(fault_report)
Sep 27 20:27:39 cleopatra nmbd[3612]:   ===============================================================
Sep 27 20:27:39 cleopatra nmbd[3612]: [2016/09/27 20:27:39.412541,  0] ../source3/lib/util.c:789(smb_panic_s3)
Sep 27 20:27:39 cleopatra nmbd[3612]:   PANIC (pid 3612): internal error
Sep 27 20:27:39 cleopatra nmbd[3612]: [2016/09/27 20:27:39.412939,  0] ../source3/lib/util.c:900(log_stack_trace)
Sep 27 20:27:39 cleopatra nmbd[3612]:   BACKTRACE: 11 stack frames:
Sep 27 20:27:39 cleopatra nmbd[3612]:    #0 /nix/store/d8imwrl7a7samiv9xmpyf6rnm0f4p08f-samba-4.3.11/lib/libsmbconf.so.0(log_stack_trace+0x2d) [0x7f615d7fd0b
Sep 27 20:27:39 cleopatra nmbd[3612]:    #1 /nix/store/d8imwrl7a7samiv9xmpyf6rnm0f4p08f-samba-4.3.11/lib/libsmbconf.so.0(smb_panic_s3+0x20) [0x7f615d7fd1b0]
Sep 27 20:27:39 cleopatra nmbd[3612]:    #2 /nix/store/d8imwrl7a7samiv9xmpyf6rnm0f4p08f-samba-4.3.11/lib/libsamba-util.so.0(smb_panic+0x2f) [0x7f615e2327df]
Sep 27 20:27:39 cleopatra nmbd[3612]:    #3 /nix/store/d8imwrl7a7samiv9xmpyf6rnm0f4p08f-samba-4.3.11/lib/libsamba-util.so.0(+0x119f6) [0x7f615e2329f6]
Sep 27 20:27:39 cleopatra nmbd[3612]:    #4 /nix/store/6fix3zqpnahyml8zp2sxi2rwan55rgb8-glibc-2.24/lib/libpthread.so.0(+0x10e90) [0x7f615e6a2e90]
Sep 27 20:27:39 cleopatra nmbd[3612]:    #5 /nix/store/i34lmzir1bpyxd1wlbpamx4r0x2gkgfx-talloc-2.1.8/lib/libtalloc.so.2(talloc_get_size+0x5) [0x7f615b8d0555]
Sep 27 20:27:39 cleopatra nmbd[3612]:    #6 /nix/store/d8imwrl7a7samiv9xmpyf6rnm0f4p08f-samba-4.3.11/lib/libsmbconf.so.0(event_add_to_poll_args+0x82) [0x7f61
Sep 27 20:27:39 cleopatra nmbd[3612]:    #7 /nix/store/d8imwrl7a7samiv9xmpyf6rnm0f4p08f-samba-4.3.11/sbin/nmbd(listen_for_packets+0x10f) [0x55c742f7e29f]
Sep 27 20:27:39 cleopatra nmbd[3612]:    #8 /nix/store/d8imwrl7a7samiv9xmpyf6rnm0f4p08f-samba-4.3.11/sbin/nmbd(main+0xcf6) [0x55c742f6d5e6]
Sep 27 20:27:39 cleopatra nmbd[3612]:    #9 /nix/store/6fix3zqpnahyml8zp2sxi2rwan55rgb8-glibc-2.24/lib/libc.so.6(__libc_start_main+0xf0) [0x7f615ad022e0]
Sep 27 20:27:39 cleopatra nmbd[3612]:    #10 /nix/store/d8imwrl7a7samiv9xmpyf6rnm0f4p08f-samba-4.3.11/sbin/nmbd(_start+0x2a) [0x55c742f6d9aa]
Sep 27 20:27:39 cleopatra nmbd[3612]: [2016/09/27 20:27:39.414221,  0] ../source3/lib/dumpcore.c:303(dump_core)
Sep 27 20:27:39 cleopatra nmbd[3612]:   dumping core in /var/log/samba/cores/nmbd
Sep 27 20:27:39 cleopatra nmbd[3612]:
Sep 27 20:27:39 cleopatra systemd[1]: samba-nmbd.service: Main process exited, code=killed, status=6/ABRT
Sep 27 20:27:39 cleopatra systemd[1]: samba-nmbd.service: Unit entered failed state.
Sep 27 20:27:39 cleopatra systemd[1]: samba-nmbd.service: Failed with result 'signal'.

Steps to reproduce

Add services.samba.enable = true; to the nixos configuration.
Do a build in a fresh vm and run it. nixos-rebuild build-vm
Check jorunalctl -u samba-nmbd to see the error:

Technical details

System: 17.03pre92039.adfcc2d (Gorilla)
Nix version: nix-env (Nix) 1.11.4
Nixpkgs version: "17.03pre92039.adfcc2d"

It might be related to Tevent

See also: https://bugs.gentoo.org/show_bug.cgi?id=592502

Also see this thread: https://www.spinics.net/lists/samba/msg136922.html

Downgrading tevent to 0.9.29 makes samba work again.
@edolstra Should I downgrade tevent globally or add the 0.9.29 version along the current and make samba depend on that?

Actually, after reading the following posts, downgrading doesn't seem a good fix:

https://www.spinics.net/lists/samba/msg136998.html
https://bugs.gentoo.org/show_bug.cgi?id=592502#c10

In any case, we'll likely have to backport the solution to 16.09.

Heh, we have disabled bundling any libs in samba (including tevent) but the problematic file is still used, as if I delete it I get an error even though I made tevent put it into $out/include:
../source3/lib/events.c:22:40: fatal error: lib/tevent/tevent_internal.h: No such file or directory

That really undermined my confidence that samba can compile reliably against separate tevent (without tweaking their build system). I believe we should bundle it for now, as almost no other package uses tevent and it might save us some more surprises in future.
Can you test that samba runs OK after #19062?

@vcunat It's working with #19062

It's working now on master. Thanks.
BTW: are there plans to update to Samba 4.5 anytime soon?


'Regenerate response' and 'message generation info' icons are shown and enabled for user's messages in chat

The AI is now offering to rewrite my stuff. :) The blue regenerate-response icon is now shown for all messages in the chat, not just the AI's messages. And sure enough, it works; if I click the icon on one of my messages, the AI happily writes an alternate response. I'm not sure that's intentional.
The pink-brain 'show message generation info' icon is also shown for all messages in the chat, not just the AI's.

Yep it's intentional because people use /user command to get the ai to write a message for them, and want to be able to regenerate that answer


Add circuit breaker to WebConverter class

Use Circuit Breaker Design Pattern to loop over requests in WebConverter.
For now, conda package tests will fail because the used library aiocircuitbreaker first needs to be added to conda-forge
Close #113.

Adding aiocircuitbreaker to conda-forge already in progress here.


sleep_annotator aesthetics

[ ] Windows and Mac windows are all grayed out and the tabs to select electrodes are not visible. It's likely due to how windows/mac do window handling vs Linux way of doing it.

At least the window frame seems like a stupidly complex issue and a potential waste of time. It looks bad in comparison :point_down: to what I see in native window handling. This can also be reproduced from the terminal in Visual Studio Code (aes are different from the native terminal)

Check here if you want to implement it. GPT4 basically gave a very similar idea of creating a frameles window and handing mouse pressing events...


Consider to renaming type classes

related #11

Configs to ConfigReader?
ToConfig(added in master) to ConfigWriter? ConfigRenderer?
FromString to ???

Renamed ConfigReader(5d53e34696f61e86e555f2ab812fed7b444647a5), ConfigWriter(ad9e526a6b046b2810681b791e4e648f80b803bc) and StringConverter(b88e1441a692a890838c776b47e5bea73d6e0873)


Create tests suite

There is no automated tests for this, there needs to be some.

https://github.com/asterick/facsimile/pull/12

This has been completed with a green code coverage and multiple bug fixes in that PR.
Another issue will be opened for bringing in more tests


Digitrust docs

Modifying the User ID module documentation and DigiTrust module documentation to be current with the new digitrustLoader module that adds DigiTrust ID support to the User ID.

Checking in. Looks like this is approved. Is there anything else I need should do to finish getting this merged into master? Thanks for all the help.

Sam wanted to wait until we have the Rubicon examples, which we're working on. We'll do a blog entry pointing to the updated doc and the RP adapter.


Implement footer in sidebar

This PR closes issue no. #542
A simple footer for sidebar.
I was not able to think of anything else to put. I think you should take a MIT license for dummygram. If you want you can make this issue of level 1

This PR closes issue no. #542 A simple footer for sidebar. I was not able to think of anything else to put. I think you should take a MIT license for dummygram. If you want you can make this issue of level 1

there's already MIT license for Dummygram

Hi @Palakkgoyal , after updating the pull request to the current version of master, css is breaking, can you try to fix that...
Ps: some classes are conflicting after the code refactoring we performed

Ohk sure. I will fix that.

I have resolved the bug. Please check.

I have resolved the bug. Please check.

Sure!


refactor: replace react-scripts (cra) with vite, and make necessary changes

What does this pull request change, and why?
Create React App (CRA) isn't as modern anymore, and using vite is (in my opinion) a cleaner choice.
Also we've made the switch in most of our other projects, so it's about time we do it here too.
Doesn't really matter though, since we're switching only for the example project, just thought it would be nice.
Issues related to this change
None

Seems to work! :tada:


Change ChangeSet to Changeset

Structs that implement validations in the db crate should simply spell Changeset instead of ChangeSet.
Neither RoR, Phoenix or Ember use the camelCase spelling
https://rom-rb.org/4.0/learn/core/changesets/
https://hexdocs.pm/ecto/Ecto.Changeset.html
https://github.com/adopted-ember-addons/ember-changeset
It's also an actual spelling that even wiki uses https://en.wikipedia.org/wiki/Changeset

Gerust doesn't seem to be violating that, it must've been added by us :sweat_smile:


chore(master): release 0.37.3

:robot: I have created a release beep boop
0.37.3 (2023-11-12)
Bug Fixes

fix SSR warning, closes #364 (69378e6)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/easyops-cn/docusaurus-search-local/releases/tag/v0.37.3 :sunflower:


Draft 1: Update confirmed subclass of evidence in Mondo

This PR

Adds a workflow for updating confirmed subclass of evidence
Updates mondo-edit.obo accordingly

Issues of dispute
Against our previous agreement, the current version of the "confirmed" subclassOf axioms covers "Case 2 (SCR is direct in source, but indirect Mondo)". So, in other words, we include subclassOf axioms that are implied by Mondo (not asserted in the edit file!) and confirmed by an external source.
Example:
[Term]
id: MONDO:0000266
name: pulmonary aspergilloma
def: "A aspergillosis that involves the lung." [MONDO:patterns/location]
...
intersection_of: MONDO:0005657 ! aspergillosis
intersection_of: disease_has_location UBERON:0002048 ! lung

results in this:
[Term]
id: MONDO:0000266
name: pulmonary aspergilloma
def: "A aspergillosis that involves the lung." [MONDO:patterns/location]
...
is_a: MONDO:0005657 {source="DOID:0050153"} ! aspergillosis
intersection_of: MONDO:0005657 ! aspergillosis
intersection_of: disease_has_location UBERON:0002048 ! lung

https://docs.google.com/document/d/1H8fJKiKD-L1tfS-2LJu8t0_2YXJ1PQJ_7Zkoj7Vf7xA/edit#heading=h.9hixairfgxa1
Chris would probably be very against this, and I must say, I am also against it, but weakly. Indeed, I am like 55% against it, and 45% think this could be a good idea. The advantage is that we see all the evidence as Mondo curators - every positive subsumption. When we make classification decisions in the future, we can see them all in the edit file (not just the non-redundant ones). Note - all of these are implied, so they are all correct. Today.
The clear disadvantage is though that changing our logical definitions / patterns (equivalent class statements) will no longer be sufficient to change classification - if you really want to get rid of some subsumption moving forward, you must physically delete both the equivalence class axioms and the asserted subclass axiom. Here is a particularly bad scenario: We decide a pattern no longer works and change it, which leads to changes in classification. The old classification will not be removed, as the subclass of axioms have now been baked into the class hierarchy. I dont know though how much of a problem this is in reality.
I would suggest you

Consult Chris on slack about his opinion on this. Its a big, PI-level, change.
If he says "no", we need to change the source for the "confirmed subclass pipeline" to "mondo-edit". Its not a huge deal, but may require some thinking.
If he says "yes", we still need to determine if there is a bug in this PR or not - I spot-checked 10 random examples and they are all correct (correct in the sense, mondo entails the subclass axiom).

I don't mind the redundancy. In fact, I think it is helpful as it adds a level of confidence to the term classification (which is always good since Mondo integrates multiple sources).
We could consider removing this redundancy in the released version of the ontology (actually we might already do it), but I personally would keep it.

thx @twhetzel, i will wait for your approval to merge!


Fix the missing user_loader or request_loader error

This error occurs because Flask-Login requires a user_loader function to be defined and registered with the LoginManager instance.
This load_user function takes a user_id as input and returns the corresponding User object from our database using the User.query.get(int(user_id)) method.
ref: Exception: Missing user_loader or request_loader.

Error has been resolved.


Hot reloading doesn't update Chrome sourcemaps

We have not merged hot reloading support yet but I noticed a very unfortunate issue: Chrome doesn't update sourcemaps.

See how the Hello in browser Sources pane doesn't change.
Note that if we change Webpack devtool setting from cheap-module-source-map to eval it will update on hot reloads:

It used to be broken too but at some point Chrome fixed it. I remember chatting with @paulirish about it in the past.
However we can't switch to eval mode because we need the source mapping.
We should reach out to somebody at Chrome and figure out if this is fixable. We can live with the broken behavior for a while but if it’s not possible to fix later, then hot reloading experience would be confusing.

This looks like a related bug: https://bugs.chromium.org/p/chromium/issues/detail?id=438251

And this is a similar bug that was fixed for eval case by @pavelfeldman and (if I’m not mistaken) @ak239:
https://bugs.chromium.org/p/chromium/issues/detail?id=492902

Related webpack discussion (closed in favor of Chromium bugs): https://github.com/webpack/webpack/issues/2478

I provided a detailed standalone repro case here: https://bugs.chromium.org/p/chromium/issues/detail?id=438251#c28

I'm suffering from the same issue in a completely different environment too for 2 years by now:
Using boot-clj + ClojureScript + Hoplon.
The phenomena is present in both Chrome and Firefox.
The alt-r workaround recommended in the Chromium discussion doesn't work (again?) in Chrome Canary 61.0.3124.0 either.
Depending on the perspective it seems either hot code reloading or source maps are still a half-baked, semi-working, non-production ready tools in 2017 because of this browser "bug".

This https://github.com/webpack/webpack/commit/84b6554f982fd9bc130262cfe0a8003531d4bcb9 is now in Webpack, which enables setting a contentHash as a query-string suffix. This workaround should be sufficient to solve this problem.

Could you help me understand how it solves the problem? What's the developer experience like? Do we need to update our config?

@gaearon yeah, just change the Webpack config to include:
{
  output: {
    sourceMapFilename: "[file].map?[contenthash]"
  }
}

This will use the workaround which makes the sourcemaps work in Chrome together with cheap-module-source-map.

It still won't replace sourcemaps on edit, right? Will just add new copies of the file.

I believe the mapping should update too, since the code-paths will be different.

@niieani I can't reproduce that it fixes the issue. If I use module.hot.accept calls, I still see old code on hot reload. Can you provide full instructions for me to see how this fixes it?

Hmm, the old code will still be visible (since we cannot unload sourcemaps), however new code should appear and be mappable, correctly.

What works for me is adding timestamps:
const now = Date.now()
map.sources = map.sources.map(source => source + (source.includes('?') ? '&' : '?') + now)

The full source map plugin we use:
const { RawSource, ConcatSource } = require('webpack-sources')
const path = require('path')

module.exports = function sourceMapPlugin() {
  return {
    apply: compiler => {
      compiler.plugin("compilation", compilation => {

        // make sure webpack stuff keeps their source maps
        compilation.plugin("build-module", module => {
          module.useSourceMap = true
        })

        // add source map assets for anything that still has one
        compilation.plugin('after-optimize-assets', assets => {
          Object.keys(assets).forEach(name => {
            const asset = assets[name]
            const map = asset.map()
            if (map) {

              // make sure sources in the source map are timestamped, this helps with hot reloading
              const now = Date.now()
              map.sources = map.sources.map(source => source + (source.includes('?') ? '&' : '?') + now)

              const [startComment, endComment] = name.endsWith('.css') ? ['/*', ' */'] : ['//', '']
              assets[name] = new ConcatSource(asset, `\n${startComment}# sourceMappingURL=${path.basename(name)}.map${endComment}\n`)
              assets[name + '.map'] = new RawSource(JSON.stringify(map))
            }
          })
        })
      })
    }
  }
}

Excuse rant.
Could we potentially, in dev, not bundle everything?  Maybe just bundling the deps, and providing a source map for them, then generate a slow source map for individual JavaScript that could then be cached (since most files don't change) then bundle them together at the end or just push heaps of small files.. How much slower would it be? Could a service worker help? Would not merging the files make hot loading certain libs that rely on symbols or object identity more reliable?

I'm a big fan of HMR and I see it's been several weeks since the Canary fix landed.
Apologies if I'm missing something but it seems like this still needs to be verified, right?
Is there a recommended way to do so? I use Canary and would be happy to take the necessary steps.

@onpaws : fwiw, I can verify that a copy of Chrome 66 correctly updates sourcemaps on hot reloading in my own non-CRA app.

Is there a solution?

update chrome Version 67.0.3370.0 (Official Build) canary (64-bit)) , the bug has fixed

update chrome Version 66.0.3359.117(64-bit) , the bug has fixed. 🙂


doc: DA documentation

Description

Release required?

[ ] No release
[x] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content
No changes to the root module, but a new version is required for the documentation via Cloud Projects.
Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

/run pipeline

:tada: This PR is included in version 4.11.3 :tada:
The release is available on:

GitHub release
v4.11.3

Your semantic-release bot :package::rocket:


Inquiry: m2r2 update to support mistune current (v2)

It looks like there a number of breaking changes in the latest mistune:
https://github.com/lepture/mistune/issues/290
I'm not sure if tracking the current branch is in scope or not.

FWIW, I forked sphinx-mdinclude from m2r2, and upgraded the core to support mistune 2.0, and use it with all of my projects now:
https://sphinx-mdinclude.readthedocs.io/en/latest/
However, I did strip out some of the features unrelated to Sphinx support, so it's not necessarily an option for everyone, but thought it might be worth mentioning. If someone wants to port the changes for mistune back to m2r2, it shouldn't be too difficult.

FWIW, I forked sphinx-mdinclude from m2r2, and upgraded the core to support mistune 2.0

Why not submit that here as PR? 🤔

Why not submit that here as PR? 🤔

A few reasons:

It's quite an invasive upgrade
It was made easier by removing pieces of m2r that I didn't need/use in my own projects
I needed a mistune2-compatible release ASAP
This project isn't super active, so I wasn't sure a PR would get traction

m2r2 has little dependencies, mistune being the most important. Staying up to date with major versions seems wise, but is a breaking change here. No big deal, though.
I'm inclined to believe that most packages that depend on m2r2 depend on mistune only because the former does.
Does a major release using mistune 2 sound good?

I know for me personally, it'd be helpful. It would allow me to drop a patch for packaging it for Alpine, and hopefully ease integration with Formiko to make an updated build.

I'll take a look at @jreese 's fork and see how/what can be used from there

same for packaging it for openSUSE Tumbleweed.

Do you think that iot is possible to prepare less invasive upgrade for mistune v2?

mistune 2.0 basically refactors (and renames) the entire API, and splits functionality into new components in multiple places.  Upgrading to the new API requires many small changes everywhere. And there's no good way to support both versions without spending even more time/effort to build an otherwise-useless abstraction layer on top.
For reference, compare legacy.py (more or less a cleaned-up version of the mistune portion of m2r2) to the mistune 2.0 equivalents in parse.py and render.py. They mostly share the same vague structure, but a lot of the details are different, and the test suite also had to be audited and updated in the process to account for those subtle behavior changes.
I wouldn't classify any of this as "difficult"—just tedious—especially since documentation of mistune is lacking or non-existent. I needed to spend a fair amount of time just reading and debugging both the old and new versions of mistune just to figure out what needed to change and how.

Because you've mention about "invasiveness" of your adaptation as argument to not submit those changes as PR by question that question I've been expecting only "yes" or "not".
And .. can you prepare PR with such adaptation against this repo?

I think the answer provided is way more insightful than a yes/no answer. They have the experience of doing such changes and are better prepared to understand what changes in the parts that they removed from their codebase might be required.

Dependabot is now reporting a need to update to mistune 2.0.3 or later due to a security vulnerability, for what it's worth.

Cannot apply that PR https://github.com/networktocode/diffsync/pull/147 on top last version and master 🤔

Yes, this issue is about migrating to mistune v2. So, moving to mistune2.x.x will not be compatible with m2r2 until this is ready and deployed.
Version 0.8.4, upon which m2r2 depends, is affected

So how can I test that PR? 🤔

Due to dependency conflicts, I gave the sphinx-mdinclude solution by @amyreese for Sphinx a go and it works nicely (I also changed a SO A which used m2r2 to use that as it's more directly applicable).

Where does this stand? What is the path forward?

WIP

@CrossNox What's the plan on supporting mistune v2? Will it happen soon?


Asking about a request....

I have seen instagram web sending this strange request many times...
https://graph.instagram.com/logging_client_events
The response contains this :
{ "checksum": "", "config": "", "config_owner_id": "", "app_data": "{}" }
Can someone tell me what actully this does??
or does it is used to differenciate bots and real browsers??

Before submitting an issue, make sure you have:

[ ] Updated to the lastest version
[ ] Read the README
[ ] Searched the bugtracker for similar issues including closed ones
[ ] Reviewed the sample code in tests and examples

Which example file are you using?
example.py
or delete this if it has nothing to do with the code

Describe your Question/Issue:
Please make sure the description is worded well enough to be understood with as much context and examples as possible.

Paste the output of python -V here:
Code you are using:
POST IT HERE

Error/Debug Log:
POST IT HERE

I have seen instagram web sending this strange request many times...

https://graph.instagram.com/logging_client_events

The response contains this :

{ "checksum": "", "config": "", "config_owner_id": "", "app_data": "{}" }
Can someone tell me what actully this does??
or does it is used to differenciate bots and real browsers??


Allows for a way to run generic validations

Runs on an instance of the class. The proc literal requires that a Bool be returned at all times. This way you know if it passed for failed. The message ends up in a generic "_base" error message field. Theres a potential to create better error objects so that "_base" can be managed better.
Wanted to get this out there first before I go too far.

looks awesome! thanks!


PHP 7: Return type declarations

When use PHP 7: Return type declarations it's cause [TokenReflection\Exception\ParseException] Unexpected token found.
Description for the new feature in PHP 7: http://php.net/manual/en/functions.returning-values.php
I'm using "codeception/aspect-mock": "*".

I'm also having this error, and trying to use AspectMock.

@jmauerhan Hi. For me temporary solution is not to use new features from 7 version.

Not really an option for me :) I switched to PHP-Mock because I was only using AspectMock for functions. https://github.com/php-mock/php-mock

For others who come across this thread, it looks like AspectMock's core dependency GoAOP will be abandoning its reliance on the outdated Andrewsville/PHP-Token-Reflection library when GoAOP 2.0 is released.  See https://github.com/Codeception/AspectMock/issues/92.

As far as I know, this repo is abandoned. There won't be any PHP 7 compatibility in the future.


FIX - close channels on all available engines

Description
This PR updates the sparkswap wallet release command to close channels from all available engines AND additionally prompt the user if there had been errors when trying to release funds.
Implementation Notes:
I wanted this feature to be a simple as possible. Right now, we'll fail the call if engines/configuration is messed up and then we'll handle errors for each individual closeChannel call for the market. The user can check network-status to see what market/channels could potentially be open, but there may need to be an enhancement there.
Related PRs
List related PRs if applicable
Todos

[x] Tests
[x] Documentation
[x] Link to Trello

 releasing by market if one of the engines is down


Add way to save groups and layers as file names

Hey Guys,
Anyway of adjusting to export the groups into the files names as well?  Right now we can save groups as folder but i'm looking to save the groups+layers into the file name.
instead of the files saved in folders as "../group1/subgroup1/layername.png"
it will save the file as "group1_subgroup1_layername.png"
does this make sense?

This makes sense to me! :)

@bakafoo This is now merged in. Let me know if this addresses your suggestion.

@hsw107 i just tested this out and it works perfectly.. Thanks for the help


Make Sequence view default in Macromolecules mode

Currently Flex view is opened by default when switching to Macromolecules mode. There was a request from CDD to make the Sequence mode the default one as it's more convenient from their standpoint.

Verified.

Versions

Ketcher Version 2.22.0-rc.2 Build at 2024-06-28; 05:30:15
Indigo Toolkit Version 1.22.0-dev.2.1-gd5637f75-wasm32-wasm-clang-12.0.0
Windows 10 Pro
Chrome Version 126.0.6478.127 (Official Build) (64-bit)


Get rid of wl_lists

Linked lists are not very efficient and can easily cause access to dangling pointers or otherwise bad memory regions.
Use chck data structures instead. #2 is related,

Done at @ refactor branch.


How to trap errors in Bot Composer?

Is there a way to trap the errors in Bot Composer to control and customize the behavior of the bot and messages sent to the end-user?
Here is an example : the bots answers “No generator found for language en”
We want to trap this error in composer, log it and make a decision on what to do (here : don’t send anything as the next message is the expected Welcome card)
Note: this is an example, there are other use-cases where they need to trap the error and not let the system send the error message to the end-user.

Investigating this.

Hi @timoleo23, perhaps using the Dialog Error Event trigger might help? Here is a StackOverflow solution
Let me know if this worked. Thanks

Hi @ramfattah, It seem working now! Thanks

Sweet! closing this issue. @Levis0045 please feel free to re-open if you are still facing issues.

@ramfattah , actually we have an another problem with this issue, with the Dialog Error Event trigger we can trap the error in the conversation. However, we have another problem:
when we change (or delete) a step in composer, and then deployer it to teams, in the period the system switch the 2 versions, we got a type of error in teams:

And the Dialog Error Event trigger can't trap this type of error.
We would like to know if you have the solution with this point.
Thanks a lot!

when we change (or delete) a step in composer, and then deployer it to teams

Can you please give details on what steps you changed?

Hello @ramfattah, I take this example :
We had a step EndTurn in our bot, and we didn't need this step anymore so we have deleted this step in composer. Then we push this new version to Azure, we got this error after the deployment:

The same results after another try -> delete a branch if condition:

This type of error appear once after the delete of a step in composer, we think it’s might be the problem of switch the new version and old version in Azure.

@tingting0118, are you able to share a zipped file of your bot that I could test from my end? If so, please be sure to remove any secrets/keys beforehand.

closing due to inactivity.


Remove blossom-ci.yaml

@ArangoGutierrez @mikemckiernan the actions around docker files need to be reworked too. Since we're just removing the blossom-ci in this PR the failures are definitely unrelated.
One thing I noticed is that the dockerfile-changed job should probably just use the docker login action instead of logging in manually.
      - name: Log in to Container Registry
        uses: docker/login-action@v2
        with:
          registry: ${{ env.REGISTRY }}
          username: ${{ github.actor }}
          password: ${{ secrets.GITHUB_TOKEN }}


splitFrame Response Column Distribution

It would be very useful if the splitFrame command could include an optional pulldown for the response column so that the distribution of the values in that column remains as consistent as possible across the resulting split frames compared to the original frame.

This feature is important to us, but requires further work in H2O. I'll add this to our backlog.

Great, thanks!


update for multiplatform support and include Android & iOS sample

Major restructure of the project to support multiplatform projects.  The project now uses the kotlin-multiplatform gradle plugin to build and publish artifacts to maven.  Gradle metadata is enabled, so multiple artifacts are published (one for each platform), and they can be pulled into the app using the lib with one line ( `implementation 'org.rekotlin:rekotlin:1.1.0')
Also included is a sample Android & iOS app.  This will help with testing the library and others getting started with multiplatform.
The redux code itself is unchanged.

@jitinsharma any ideas on getting CI to build?  missing SDK path.  Wasn't that already set up and working?

We will keep development of multiplatform variant in seperate repo here
https://github.com/ReKotlin/rekotlin-multiplatform
In view of stability, we'll avoid  converting this repository to multiplatform till MPP reaches 1.0


Wording could be improved

This sentence could be improved by swapping the word "primarily" in and "majorly" out...
"Classic prebuilt components provide prebuilt components primarily for data processing and traditional machine learning tasks like regression and classification. This type of component continues to be supported but will not have any new components added."

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

ID: 397073e0-7717-fda5-f9ee-2e4f901657a1
Version Independent ID: f3aaf82d-ce1e-d018-65e4-56a497cf196f
Content: How to select a machine learning algorithm - Azure Machine Learning
Content Source: articles/machine-learning/v1/how-to-select-algorithms.md
Service: machine-learning
Sub-service: training
GitHub Login: @lgayhardt
Microsoft Alias: lagayhar

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

@lorrinferdinand
Thanks for reporting this! We have created a PR for this issue and the changes should go live soon.
https://github.com/MicrosoftDocs/azure-docs-pr/pull/259489