Some touchable components are not working (Native Android devices only)

Description
For me this issue still  the issue #36710 persists on RN 0.74.1, Expo 51.0.8 and react-native-screens 3.31.1 running with fabric.
Same problem: Some components, e.g. custom buttons in the header bar or some modals (not all). This happens only on native Android devices. iOS or Android emulator are fine.
Additionally, native buttons work. Only "normal" RN components don't.
onPressIn works fine, normal onPress does not.
Steps to reproduce
Have the mentioned setup. Use Expo Router with custom buttons or wix rnui ActionSheet (therefore probably not related to third party libs)
React Native Version
0.74.2
Affected Platforms
Runtime - Android
Areas
Fabric - The New Renderer
Output of npx react-native info
System:
  OS: macOS 14.4.1
  CPU: (8) arm64 Apple M1
  Memory: 89.05 MB / 16.00 GB
  Shell:
    version: "5.9"
    path: /bin/zsh
Binaries:
  Node:
    version: 21.7.3
    path: /opt/homebrew/bin/node
  Yarn:
    version: 1.22.19
    path: ~/.yarn/bin/yarn
  npm:
    version: 10.7.0
    path: /opt/homebrew/bin/npm
  Watchman:
    version: 2<IP_ADDRESS>
    path: /opt/homebrew/bin/watchman
Managers:
  CocoaPods:
    version: 1.15.2
    path: /usr/local/bin/pod
SDKs:
  iOS SDK:
    Platforms:
      - DriverKit 23.2
      - iOS 17.2
      - macOS 14.2
      - tvOS 17.2
      - visionOS 1.0
      - watchOS 10.2
  Android SDK: Not Found
IDEs:
  Android Studio: 2022.3 AI-223.8836.35.2231.10811636
  Xcode:
    version: 15.2/15C500b
    path: /usr/bin/xcodebuild
Languages:
  Java:
    version: 17.0.8
    path: /usr/bin/javac
  Ruby:
    version: 2.6.10
    path: /usr/bin/ruby
npmPackages:
  "@react-native-community/cli": Not Found
  react:
    installed: 18.2.0
    wanted: 18.2.0
  react-native:
    installed: 0.74.1
    wanted: 0.74.1
  react-native-macos: Not Found
npmGlobalPackages:
  "*react-native*": Not Found
Android:
  hermesEnabled: true
  newArchEnabled: true
iOS:
  hermesEnabled: true
  newArchEnabled: true

Stacktrace or Logs
No relevant log?

Reproducer
https://github.com/DrZoidberg09/RN-Android-Touch-Issue/
Screenshots and Videos
No response

Will add, if needed

Can we get a reproducer? As otherwise it's extremely hard to debug this issue.

Yes, will follow later today.

Yes, will follow later today.

Any news on this?

I edited the original post. This is the repro: https://github.com/DrZoidberg09/RN-Android-Touch-Issue/

same issue !!

@cortinico Anything else you need from me to look into this?

on Samsung devices onViewPress doesn't work. All customers with Samsung devices (S23, S24) are reporting it. any solution to make it work?

Just chiming in to say that we have been struggling with this as well.  Both this issue and #36710 describe our problem quite well, although #36710 got hijacked and closed based on an unrelated bug being addressed (the solved bug had to do with the new architecture, while the OP stated his problem existed before the new architecture was even created).
Looking forward to any movement on this issue, because its random nature makes it effectively impossible to reliably reproduce.

In my scenario, I can reproduce this error 100% of the time (onPress does not respond, but interestingly, the animation effect of TouchableOpacity still shows). I have tested it with Expo 51, Expo 50, React Native 0.74.1, and React Native 0.73.6. The test environment includes Samsung S23 and S24. In a real device environment, even onPressIn and onPressOut do not work, whereas on the emulator, onPressIn and onPressOut respond normally, but onPress does not respond.
My scenario is similar to a step-by-step installation guide Page, which is built with a ScrollView in RN. There are about 7 pages within the ScrollView. If a Modal is opened within these pages, the onPress of buttons inside the Modal does not respond. Currently, I have disabled react-native-screens and used onPressOut instead of onPress. Although it works, it causes accidental clicks when scrolling (due to onPressOut).
Additionally, to add more context, my ScrollView contains nested ScrollViews. In this environment, onPress 100% fails to respond. The issue does not occur with non-nested ScrollViews.

@imransilvake im In the real device environment, I have disabled react-native-screens, and both onPressIn and onPressOut are working.

@cortinico In my scenario, the TextInput also cannot be focused. This is indeed a peculiar issue.

I also found that this issue is not specific to a single component. In release mode, when a Modal contains nested FlatList or ScrollView, they do not scroll. However, in debug mode, everything works fine. On iOS, there are no issues. The problem only occurs on Android.

I have the same issue with our app. iOS and Android emulator work fine. iOS production app works fine. Recently though, the Android production app has become relatively unusable. You can log in and within a few seconds, pretty much every pressable item becomes unresponsive.

@gtwilliams03 If the buttons are not working, you can try the following code:
`import React from "react";
import { TapGestureHandler, State } from "react-native-gesture-handler";
import { View } from "react-native";
export default function Pressable({ onPress, children, style, disabled }) {
const onHandlerStateChange = (event) => {
if (event.nativeEvent.state === State.END) {
onPress();
}
};
return (

{children}

);
}`

@tcloudAce Thank you - however this issue is pretty much with anything pressable (not just a button). Buttons, navigation tabs, etc.

In my case, changing the component layout and applying the above code temporarily solved my problem. The only thing that is certain is that iOS and Android often cannot use the same layout. Code that runs successfully and without issues on Android usually works on iOS, but not the other way around. Moreover, this issue is not only present in the latest versions of React Native but has existed in many past versions as well. I hope this helps everyone.

any update about this isssue guys ?
I have tested with a touchable to toggle a modal, the state has changed, but modal is delayed about more than one second to show. Any chance the problem is about re-rendering ?

DrZoidberg09/RN-Android-Touch-Issue

Can we get a non-expo reproducer using this template instead:
https://github.com/react-native-community/reproducer-react-native
The provided repro is quite involved (uses expo router) and I'd like to isolate this issue as much as possible.

Tried to reproduce it with pure RN and the repo you shared. So far, I could not reproduce it. Even with the RN-Navigation header issue shown in the other Expo based repro.
So far, it seems it's neither react-native nor react-navigation, but Expo(-router).
But I will keep trying to reproduce it in the next days.

So far, it seems it's neither react-native nor react-navigation, but Expo(-router).

That's sometimes related to react-native-screens (at least it was in the past). Worth a try with -screens to see if it reproduces there

I have react-native-screens and react-navigation stack also running in the repro. Here it works fine. In the main project with Expo it is not.
Another weird behavior:
If I run Expo development build on the native device most is working pretty ok besides onPress in the header bar. (onPressOut and In is working nicely though). However, if I build a proper apk and run it on the native (Samsung) device. Everything pressable in a stack is not working, incl. every list, button, etc. (Also the positioning of position absolute items is different if I use development build or an apk on the same device...)

This seems to be very close to the issue as well: https://github.com/software-mansion/react-native-screens/issues/2150

@cortinico I could track it down to expo-router. Please look at the github repo. I added a reproducer for each: pure RN, expo with router and expo without router.
The two repos without router work. With router it does not.

The two repos without router work. With router it does not.

Great so let's close it for now and move the conversation over to: https://github.com/expo/expo/issues/30032

I was encountering a similar issue -- TouchableOpacity (and other wrappers of Pressable) not working on Android but working fine in iOS. However, I was able to fix the issue by adding a zIndex: 10 in the style property. 10 is just a number here, basically it had to be on the top.

I have done a little digging into Pressability.js
It seems that the condition to fire onPress is: isPressInSignal(prevState) && signal === 'RESPONDER_RELEASE'
and then that !isPressCanceledByLongPress
In my testings of this wonky behaviour.

Sometimes, the events are in the right order (it's rare, but it is happening). (i get RESPONDER_ACTIVE_PRESS_IN as prevState)
Sometime not at all, and when i get the RESPONDER_RELEASE signal, the prevState is RESPONDER_ACTIVE_PRESS_OUT and so onPress do not fire.

const isPressInSignal = (signal: TouchState) =>
  signal === 'RESPONDER_INACTIVE_PRESS_IN' ||
  signal === 'RESPONDER_ACTIVE_PRESS_IN' ||
  signal === 'RESPONDER_ACTIVE_LONG_PRESS_IN';

onPressIn and onPressOut are not using the same State machine conditions, and thus, are not impacted by the issue.
Haven't fixed (as adding the prev event to the function is surely not what is supposed to happen), and i am trying to understand a bit more to not do shit, but maybe it can help someone understand more the issue.

I investigated it a little more and from what I see this is a case of measure not synchronizing correctly with the coordinates of touches.
On Android with new architecture the touches will be returned as coordinates relative to the root view. So if the screen you are using is 300 x 700 pixels, it will fall somewhere between that.
The Pressablity.js file, mentioned by @littleski then takes those touch coordinates and compares them to the coordinates of the responder (returned by the measure function),
 _measureResponderRegion(): void {
    if (this._responderID == null) {
      return;
    }

    if (typeof this._responderID === 'number') {
      UIManager.measure(this._responderID, this._measureCallback);
    } else {
      this._responderID.measure(this._measureCallback);
    }
  }
  _measureCallback = (
    left: number,
    top: number,
    width: number,
    height: number,
    pageX: number,
    pageY: number,
  ) => {
    if (!left && !top && !width && !height && !pageX && !pageY) {
      return;
    }
    this._responderRegion = { // <------ position of the responder relative to the root view (this is the problematic place, which is explained below
      bottom: pageY + height,
      left: pageX,
      right: pageX + width,
      top: pageY,
    };
  };

BUT ONLY on the responder move:
 onResponderMove: (event: PressEvent): void => {
        /* ... */
        const touch = getTouchFromPressEvent(event); // <--- coordinates of users touch
        /* ... */
        if (this._isTouchWithinResponderRegion(touch, responderRegion)) {
          this._receiveSignal('ENTER_PRESS_RECT', event);
        } else {
          this._cancelLongPressDelayTimeout();
          this._receiveSignal('LEAVE_PRESS_RECT', event);
        }
      },

  _isTouchWithinResponderRegion(
    touch: $PropertyType<PressEvent, 'nativeEvent'>,
    responderRegion: $ReadOnly<{|
      bottom: number,
      left: number,
      right: number,
      top: number,
    |}>,
  ): boolean {
   /* ... */
    return (
      touch.pageX > regionLeft &&
      touch.pageX < regionRight &&
      touch.pageY > regionTop &&
      touch.pageY < regionBottom
    );
  }

And that is why this issue only appears on some android devices which are more sensitive. Emulators and less sensitive devices will never trigger the onResponderMove callback. I found out that this issue can be reproduced on emulators just by moving the mouse a little bit during a touch.
As for the reason why this bug even occurs at all, it comes down to the data returned from the measure. The pageX and pageY in some special circumstances will return coordinates far exceeding the boundaries of the screen. From what I tested for now, this is a case for both react-native-tab-view and react-native-pager-view. I haven't found a time to look into them, what exact construct is causing that, but I know for sure that the responder pageX and pageY is being offset there by the amount of the travel distance it had to do before appearing on the screen.
Let's take tab-view for example:
If we have 3 tabs in tab-view, each screen-wide, the responder coordinates for the first tab will be normal - they will respond to touches correctly, but for the second and third tab the coordinates will be offset (pageX) by respectively (in case of 300 pixel wide screen) - 300 pixels and 600 pixels, meaning that as soon as the responder calls onResponderMove the touch will be broken (put into LEAVE_PRESS_RECT state) which it then has no way of fixing, since the X position of the touch will be like 112 pixels and the responder X will be 412 pixels (out of screen).
For now I don't know how to fix it.

It's definitely a react-native-pager-view issue, since tab-view also relies on that, for now I simply swapped all the buttons in the app with this component
const ManuallyHandledButton = ({ onPress, children, ...props }) => {
  const _touchActivatePositionRef = useRef(null)

  const _onPressIn = useCallback((e) => {
    const { pageX, pageY } = e.nativeEvent

    _touchActivatePositionRef.current = {
      pageX,
      pageY
    }
  }, [])

  const _onPress = useCallback(
    (e) => {
      const { pageX, pageY } = e.nativeEvent

      const absX = Math.abs(_touchActivatePositionRef.current.pageX - pageX)
      const absY = Math.abs(_touchActivatePositionRef.current.pageY - pageY)

      const dragged = absX > PRECISION || absY > PRECISION

      if (!dragged) {
        onPress?.(e)
      }
    },
    [onPress]
  )

  return (
    <Pressable
      onResponderStart={_onPressIn}
      onResponderEnd={_onPress}
      {...props}
    >
      {children}
    </Pressable>
  )
}

const PressableForwarder =
  global?.nativeFabricUIManager && IS_ANDROID
    ? ManuallyHandledButton
    : TouchableOpacity

export default PressableForwarder

And it seems to work good enough

Pigging backing on @DominikHinc
UiManager
const UIManager: UIManagerJSInterface = {
  ...UIManagerImpl,
  measure(
    reactTag: number,
    callback: (
      left: number,
      top: number,
      width: number,
      height: number,
      pageX: number,
      pageY: number,
    ) => void,
  ): void {
    if (isFabricReactTag(reactTag)) {
      const FabricUIManager = nullthrows(getFabricUIManager());
      const shadowNode =
        FabricUIManager.findShadowNodeByTag_DEPRECATED(reactTag);
      if (shadowNode) {
        FabricUIManager.measure(shadowNode, callback);
      } else {
        console.warn(`measure cannot find view with tag #${reactTag}`);
        // $FlowFixMe[incompatible-call]
        callback();
      }
    } else {
      // Paper
      UIManagerImpl.measure(reactTag, callback);
    }
  },

So here is the difference between new arch and old which seems logic. need to dig a bit in the Java to understand the difference and what may have been broken in the new arch java binding.

@littleski turns out all I had to do was to implement this https://github.com/callstack/react-native-pager-view/issues/836

The repro doesn't use this. It's more than likely that this is just a workaround for one lib. I don't use this package either. Might help understand the issue tho.

For those who are facing issue in android and specifically in react native tab view then use this solution. upgrade react-native-pager-view to this version "^6.4.1"  so you can solve touch issue in android.

@ap9101 Thank you for your comment, however, when I upgraded our project to react-native-pager-view to version ^6.4.1 the screen with the ViewPager errors out with requireNativeComponent: "LEGACY_RNCViewPager" was not found in the UIManager.

It's definitely a react-native-pager-view issue, since tab-view also relies on that, for now I simply swapped all the buttons in the app with this component
const ManuallyHandledButton = ({ onPress, children, ...props }) => {
  const _touchActivatePositionRef = useRef(null)

  const _onPressIn = useCallback((e) => {
    const { pageX, pageY } = e.nativeEvent

    _touchActivatePositionRef.current = {
      pageX,
      pageY
    }
  }, [])

  const _onPress = useCallback(
    (e) => {
      const { pageX, pageY } = e.nativeEvent

      const absX = Math.abs(_touchActivatePositionRef.current.pageX - pageX)
      const absY = Math.abs(_touchActivatePositionRef.current.pageY - pageY)

      const dragged = absX > PRECISION || absY > PRECISION

      if (!dragged) {
        onPress?.(e)
      }
    },
    [onPress]
  )

  return (
    <Pressable
      onResponderStart={_onPressIn}
      onResponderEnd={_onPress}
      {...props}
    >
      {children}
    </Pressable>
  )
}

const PressableForwarder =
  global?.nativeFabricUIManager && IS_ANDROID
    ? ManuallyHandledButton
    : TouchableOpacity

export default PressableForwarder

And it seems to work good enough

Hello, we are also facing this problem. The problem is related to the measurement of FabricUIManager.measure. The bottom is calculated incorrectly, resulting in entering LEAVE_PRESS_RECT. Do you have any solution? What is the current situation?
https://github.com/user-attachments/assets/1e7ec0cb-55ac-4a3a-8f2e-4e431ce7d57f

It's definitely a react-native-pager-view issue, since tab-view also relies on that, for now I simply swapped all the buttons in the app with this component
const ManuallyHandledButton = ({ onPress, children, ...props }) => {
  const _touchActivatePositionRef = useRef(null)

  const _onPressIn = useCallback((e) => {
    const { pageX, pageY } = e.nativeEvent

    _touchActivatePositionRef.current = {
      pageX,
      pageY
    }
  }, [])

  const _onPress = useCallback(
    (e) => {
      const { pageX, pageY } = e.nativeEvent

      const absX = Math.abs(_touchActivatePositionRef.current.pageX - pageX)
      const absY = Math.abs(_touchActivatePositionRef.current.pageY - pageY)

      const dragged = absX > PRECISION || absY > PRECISION

      if (!dragged) {
        onPress?.(e)
      }
    },
    [onPress]
  )

  return (
    <Pressable
      onResponderStart={_onPressIn}
      onResponderEnd={_onPress}
      {...props}
    >
      {children}
    </Pressable>
  )
}

const PressableForwarder =
  global?.nativeFabricUIManager && IS_ANDROID
    ? ManuallyHandledButton
    : TouchableOpacity

export default PressableForwarder

And it seems to work good enough

Hello, we are also facing this problem. The problem is related to the measurement of FabricUIManager.measure. The bottom is calculated incorrectly, resulting in entering LEAVE_PRESS_RECT. Do you have any solution? What is the current situation?
https://github.com/user-attachments/assets/1e7ec0cb-55ac-4a3a-8f2e-4e431ce7d57f

It's definitely a react-native-pager-view issue, since tab-view also relies on that, for now I simply swapped all the buttons in the app with this component
const ManuallyHandledButton = ({ onPress, children, ...props }) => {
  const _touchActivatePositionRef = useRef(null)

  const _onPressIn = useCallback((e) => {
    const { pageX, pageY } = e.nativeEvent

    _touchActivatePositionRef.current = {
      pageX,
      pageY
    }
  }, [])

  const _onPress = useCallback(
    (e) => {
      const { pageX, pageY } = e.nativeEvent

      const absX = Math.abs(_touchActivatePositionRef.current.pageX - pageX)
      const absY = Math.abs(_touchActivatePositionRef.current.pageY - pageY)

      const dragged = absX > PRECISION || absY > PRECISION

      if (!dragged) {
        onPress?.(e)
      }
    },
    [onPress]
  )

  return (
    <Pressable
      onResponderStart={_onPressIn}
      onResponderEnd={_onPress}
      {...props}
    >
      {children}
    </Pressable>
  )
}

const PressableForwarder =
  global?.nativeFabricUIManager && IS_ANDROID
    ? ManuallyHandledButton
    : TouchableOpacity

export default PressableForwarder

And it seems to work good enough

@DominikHinc  Hello, we are also facing this problem. The problem is related to the measurement of FabricUIManager.measure. The bottom is calculated incorrectly, resulting in entering LEAVE_PRESS_RECT. Do you have any solution? What is the current situation?
42238487.mp4


Fix file list indent

Fix #1444
Before

After

Coverage remained the same at 39.704% when pulling 8c8e598e04537c25483addcfdc2ae97dd9568c69 on Kiloutre:patch-71 into 6209dfbfb24263c7509ca7c0b1a564572779a400 on NyaaPantsu:dev.

Coverage remained the same at 39.704% when pulling 8c8e598e04537c25483addcfdc2ae97dd9568c69 on Kiloutre:patch-71 into 6209dfbfb24263c7509ca7c0b1a564572779a400 on NyaaPantsu:dev.


docs(readme): add scenario for triggering CI checks

I configured it with using secrets.GITHUB_TOKEN. It ended normally, and made PR, but I faced trouble: my CI checks didn't start.
I found in GitHub Doc, that when workflow used secrets.GITHUB_TOKEN, it didn't trigger another workflows, such as CI:
When you use the repository's GITHUB_TOKEN to perform tasks, events triggered by the GITHUB_TOKEN will not create a new workflow run. This prevents you from accidentally creating recursive workflow runs.
I also found: If you do want to trigger a workflow from within a workflow run, you can use a personal access token instead of GITHUB_TOKEN to trigger events that require a token. You'll need to create a personal access token and store it as a secret.
So with this recommendation, you should create a personal access token . As a good security practice, you should always make sure that actions only have the minimum access they require by limiting the permissions granted to the token. And after that сreate a secret out of this token.

Coverage remained the same at 83.657% when pulling b6e7f50bca96aee9e2d69b35ff441cce7a8266ef on Swizbiz:master into eabe23266a6b3b1001b9e4d3b0d820cf954d239d on FantasticFiasco:master.

Thanks! This will definitely help developer that will wan't to trigger other GitHub Actions workflows based on opened pull requests.


A playbook that documents the different timestamps that are used in MISP

The title of the playbook
MISP timestamp detailss
Purpose of the playbook
A playbook that documents the different timestamps that are used in MISP.
Go through the timestamp for publishing and last changes as well as how these can be used in search queries.
Document what changes a timestamp in a MISP event.
External resources used by this playbook
None
Target audience
CTI
Breefly list the execution steps or workflow
No response

Very good idea!


IC5 role definition: define IC5 through profiles

See context on Slack.
This PR:

Documents that the IC5 level is defined through IC5 profiles, to acknowledge that impact beyond IC4 varies between individuals.
Documents common traits of all IC5 profiles.
Documents a process for adding a new IC5 profile, ensuring that new IC5 position are fairly calibrated against existing ones.

The following non-goals are explicitly and intentionally not tackled:

Adding actual IC5 profiles: this would be an immediate next step after merging this.
Deciding whether we call IC5 "Staff": this can be tackled as a follow-up, what is important here is defining career progression beyond IC4.
Defining IC6 and 7.

@nicksnyder can you please give this an initial review to make sure it is aligned with your expectations following our discussion before the holiday? Thanks!

Directors (@yinquanteo, @jeanduplessis, @bcreager), can you please take a look? See context here. Thank you!

Merging as-is since this has a few approvals, and reflects how we want to operate with IC5 better than what is currently in the handbook. We'll of course iterate on the content as needed.


LayerSwitcher_#561 improvement

New Layer Switcher:

movable window
option to create without a switcher (button)
option to have the sections expanded
minimize/maximize window
expand/collapse sections
vertical resize window
double click header to reset original position

Verify that...

[x] npm test passes
[x] npm run api passes
[x] npm run lint passes
[x] npm run build still works

I have kept the old LayerSwitcher and name the new one LayerSwitcherv2

Hey! You are right, I will do so right away. What do you think about the options/ way of controlling the switcher? Is that good? Could it be applied to other switchers, or keep them separate as you fore-told?

Let's move step by step, and make improvements on a solid base of shortage of functionality. I suggest you provide a list of such options first, draw a picture, and then we will decide. Also, check an issue about Dialog refactoring, what do you think? As for me I always think a way of simplicity and efficiency. It means that the smaller - the better, the faster - the better, also always think about agile(SOLID principles) interfaces(code), it's the hardest part actually:)


[SPARK-50011][INFRA] Add a separate docker file for doc build

What changes were proposed in this pull request?
Add a separate docker file for doc build
Why are the changes needed?
currently we only have single test image, for pyspark, sparkr, lint and docs, it has two major issues:
1, disk space limitation: we are adding more and more packages in it, the disk space left for testing is very limited, and cause No space left on device from time to time;
2, environment conflicts: for example, even though we already install some packages for docs in the docker file, we still need to install some additional python packages in build_and_test, due to the conflicts between docs and pyspark. It is hard to maintain because the related packages are installed in two different places.
so I am thinking of spinning off some installations (e.g. docs) from the base image, so that:
1, we can completely cache all the dependencies for docs;
2, the related installations are centralized;
3, we can free up disk space on the base image (after we spin off other dependency, we can remove unneeded packages from it);
Furthermore, if we want to apply multiple images, we can easily support different environments, e.g. adding a separate image for old versions of pandas/pyarrow/etc.
Does this PR introduce any user-facing change?
no, infra-only
How was this patch tested?
ci
Was this patch authored or co-authored using generative AI tooling?
no

thanks @dongjoon-hyun for reviews!

Have offline discussion with ruifeng:

we need to also refresh the image cache job, otherwise cache speed up will not work:
https://github.com/apache/spark/blob/master/.github/workflows/build_infra_images_cache.yml

Fix paths
add a step for doc image cache

the infra image cache is a separate job will be triggered when the dockerfile PR is merged (we first make sure ci passed and the dockerfile do the right fix/upgrade/change, then do the post fresh)

For branch cache/job images, we could keep original behavior that means:

For branch jobs (doc and test):
cache: ghcr.io/apache/spark/apache-spark-github-action-image-cache:branch-3.5
job: apache-spark-ci-image:${{ inputs.branch }}-${{ github.run_id }}
For master jobs:
test:
cache: ghcr.io/apache/spark/apache-spark-github-action-image-cache:branch-3.5
job: apache-spark-ci-image:${{ inputs.branch }}-${{ github.run_id }}
doc:
cache: ghcr.io/apache/spark/apache-spark-github-action-image-docs-cache:branch-3.5
job: apache-spark-ci-image-docs:${{ inputs.branch }}-${{ github.run_id }}

thanks @Yikun , sending a fix in https://github.com/apache/spark/pull/48533

Unfortunately, it turns out that the follow-up also broke the release branches

https://github.com/apache/spark/pull/48533#issuecomment-2422878623

As a release manager of Apache Spark 3.4.4 EOL release, I reverted SPARK-50011 (this and the follow-up commit) for now. Sorry about that.

https://github.com/apache/spark/commit/aaecab3d3c8b116e4aa32b2b26ad6a1b32f2a80a
https://github.com/apache/spark/commit/6f710cd9c561c911066108b7d659d5de44099757

Can we re-start cleanly to make it sure to pass all CI combinations?


Multicopter mission guidance improvements

A recent modification (#12505 ) allows the drone to pass through a waypoint without completely stopping depending on the previous-current-next waypoints and the maximum centripetal acceleration. The implementation had visible corner cases when the path is parallel to the north or east axis as shown on the picture below:

(log: https://logs.px4.io/plot_app?log=d4a1d4ef-48ae-4e80-847c-ddd69d2d95dd )
The problem is that the velocity the drone is allowed to fly in a waypoint was directly applied to the norm of the velocity vector instead of each axis independently.
This PR fixes that behavior by applying properly the constraints to each component of the velocity vector:

(log: https://logs.px4.io/plot_app?log=85680273-9b06-44e7-b7a4-918b79581d05 )
Additional change the signum function now compares the number against FLT_EPSILON instead of 0 in case of a floating point number.
FYI @Stifael

@PX4/testflights Could you test that please? On a multicopter, a few mission. Thanks

Thanks for the review @MaEtUgR . I changed it now and it's even easier to read.


High CPU Usage on Linux

Hi, I'm seeing 100% CPU Usage on one core at all times when running the svelte example app on my system.
Was able to pin it down to this function:
https://github.com/tauri-apps/tauri-plugin-stronghold/blob/ef36411f4a869455b9249f3150bc309edec5ec58/src/stronghold.rs#L206-L262
Happens in dev & prodution build.
My System:
OS: Manjaro 21.2.4 Qonos
Kernel: x86_64 Linux 5.16.11-2-MANJARO
CPU: Intel Core i7-8700 @ 12x 4.6GHz

can you please share your tauri info results?

$ tauri info

Operating System - Manjaro, version 21.2.4 X64

Node.js environment
  Node.js - 16.13.2
  @tauri-apps/cli - 1.0.0-rc.5
  @tauri-apps/api - 1.0.0-rc.1

Global packages
  npm - 8.1.2
  pnpm - Not installed
  yarn - 1.22.17

Rust environment
  rustup - 1.24.3
  rustc - 1.58.0
  cargo - 1.58.0
  toolchain - stable-x86_64-unknown-linux-gnu

App directory structure
/src
/.vscode
/node_modules
/src-tauri
/public

App
  tauri - 1.0.0-rc.3
  tauri-build - 1.0.0-rc.3
  tao - 0.6.3
  wry - 0.13.3
  build-type - bundle
  CSP - default-src blob: data: filesystem: ws: http: https: 'unsafe-eval' 'unsafe-inline'
  distDir - ../public
  devPath - http://localhost:5000/
  framework - Svelte
  bundler - Rollup
Done in 9.83s.

Maybe not the cause, but I do see that your rust is outdated (1.58.1 is an important patch...) but you should use 1.59
rustup update

Good to know, I updated rust and node to latest versions, but am not seeing improvement.
I'm using this plugin in my app which is built with this GitHub Action: https://github.com/pwltr/tauthy/blob/master/.github/workflows/release.yml
So tooling should be up-to-date there I believe? Thought it was just a development build issue but am seeing fans spin up on the prod bundle as well.

Thanks for finding the issue. I think we need a redesign of the plugin, we can do better.

No worries, thanks for doing this. I would love to help but am not there yet with the Rust...

I think it's actually an easy fix, see PR. I tested it and it works fine.


bad site formatting

What is your issue?
if I open site for half screen objects interfere with each other
https://docs.xarray.dev/en/stable/user-guide/combining.html#update

and sometimes barside cannot be hided with button https://docs.xarray.dev/en/latest/generated/xarray.Dataset.assign.html

google chrome
opera

Thanks for the report @Xaego - I can reproduce this as well for certain window sizes.


Confuse Expander

To Reproduce
Steps to reproduce the behavior:

Go to an Expander

Open it.

Double click on it.

Arrow says it is open, but not. Need to click twice to open it again.

The Problem
https://github.com/AvaloniaUI/Avalonia/blob/ef38e9dd3a25e513f449a51ef09508af65140841/src/Avalonia.Controls/Expander.cs#L86-L101
Basically, something is going on (or seems to be going on) where the double-click on the internal Expander ToggleButton is triggering the ContentTransition 2x (which makes sense), but starting a 2nd transition before the 1st one ends seems to cause the animations to get out of sync or something. (In other words, the 2nd animation never completes.)
The bug is not experienced with the FluentTheme by default as that one has no ContentTransition set by default. Setting this on your Expander replicates the bug in the FluentTheme:
<Expander.ContentTransition>
    <CrossFade Duration="00:00:00.25" />
</Expander.ContentTransition>

The Workaround
ContentTransition="{x:Null}" on your Expander
The Actual Fix
???
A second animation getting cued up is not being executed properly somehow. Ideally I think you'd cancel/stop the current animation and then set up a new one, but...I'm not sure how the animation system works fully.

C&P of some stuff I wrote a while back when I looked into it:

#5851 seems to be due to CrossFade clearing visibility at the end, but setting visibility at the start. It seems necessary to cancel the old fadeout/fadein when a new one is started; however, a mechanism to do this doesn't jump out at me (things like match and the subscription are not current exposed by RunAsync) and even if you can dispose the old animations, you still need to update the visibility after they have finished to avoid the short-term ill effect of things jumping in and out of visibility. The long-term ill effect (the content not presenting) can be resolved by updating the visibility after the animations complete (or during), but this doesn't feel like a good solution. Is anyone aware of another case like this from which I could pattern a solution?
(Carousel has similar problems with short-term animation weirdness; it explicitly sets visibility at the end of the animation so the 'long term' effects don't appear to occur)

As I recall, It's not that they get out of sync, but the visibility is updated at the start of the fade-in and at the end of the fade-out.
I'm in the same boat as @Deadpikle : cancelling the fade-out before starting the fade-in would make the most sense, but there is no obvious mechanism for doing so.

I did some experiment and while it's clear how to fix it in this specific case, it's not clear how to extend current API to support it nicely without hacks below:
diff --git a/samples/ControlCatalog/App.xaml.cs b/samples/ControlCatalog/App.xaml.cs
index f3ec7b48a..e5fad8884 100644
--- a/samples/ControlCatalog/App.xaml.cs
+++ b/samples/ControlCatalog/App.xaml.cs
@@ -89,7 +89,7 @@ public class App : Application

         public override void Initialize()
         {
-            Styles.Insert(0, FluentLight);
+            Styles.Insert(0, DefaultLight);

             AvaloniaXamlLoader.Load(this);
         }
diff --git a/src/Avalonia.Controls/Expander.cs b/src/Avalonia.Controls/Expander.cs
index 052b42a23..8b27a05bd 100644
--- a/src/Avalonia.Controls/Expander.cs
+++ b/src/Avalonia.Controls/Expander.cs
@@ -1,3 +1,5 @@
+using System;
+
 using Avalonia.Animation;
 using Avalonia.Controls.Metadata;
 using Avalonia.Controls.Primitives;
@@ -83,19 +85,21 @@ public bool IsExpanded
             }
         }

-        protected virtual void OnIsExpandedChanged(AvaloniaPropertyChangedEventArgs e)
+        IDisposable last;
+        protected virtual async void OnIsExpandedChanged(AvaloniaPropertyChangedEventArgs e)
         {
             if (Content != null && ContentTransition != null && Presenter is Visual visualContent)
             {
                 bool forward = ExpandDirection == ExpandDirection.Left ||
                                 ExpandDirection == ExpandDirection.Up;
+                last?.Dispose();
                 if (IsExpanded)
                 {
-                    ContentTransition.Start(null, visualContent, forward);
+                    last = ((CrossFade)ContentTransition).StartCancellable(null, visualContent);
                 }
                 else
                 {
-                    ContentTransition.Start(visualContent, null, !forward);
+                    last = ((CrossFade)ContentTransition).StartCancellable(visualContent, null);
                 }
             }
         }
diff --git a/src/Avalonia.Visuals/Animation/CrossFade.cs b/src/Avalonia.Visuals/Animation/CrossFade.cs
index 0615b854d..9153be002 100644
--- a/src/Avalonia.Visuals/Animation/CrossFade.cs
+++ b/src/Avalonia.Visuals/Animation/CrossFade.cs
@@ -1,5 +1,8 @@
 using System;
 using System.Collections.Generic;
+using System.Reactive.Disposables;
+using System.Reactive.Linq;
+using System.Threading;
 using System.Threading.Tasks;
 using Avalonia.Animation.Easings;
 using Avalonia.Styling;
@@ -109,38 +112,49 @@ public Easing FadeOutEasing
         /// <returns>
         /// A <see cref="Task"/> that tracks the progress of the animation.
         /// </returns>
-        public async Task Start(Visual from, Visual to)
+        public Task Start(Visual from, Visual to)
         {
-            var tasks = new List<Task>();
+            return Task.CompletedTask;// StartCancellable(from, to);
+        }
+        public IDisposable StartCancellable(Visual from, Visual to)
+        {
+            IDisposable opacityDisp = null;
+            CompositeDisposable disposables = new CompositeDisposable();

             if (to != null)
             {
-                to.Opacity = 0;
+                opacityDisp = to.SetValue(Visual.OpacityProperty, 0, Data.BindingPriority.Animation);
             }

             if (from != null)
             {
-                tasks.Add(_fadeOutAnimation.RunAsync(from));
+                IDisposable subscriptions = null;
+                subscriptions = _fadeOutAnimation.Apply(from, from.Clock, Observable.Return(true), () =>
+                {
+                    if (!disposables.IsDisposed)
+                    {
+                        disposables.Add(from.SetValue(Visual.IsVisibleProperty, false, Data.BindingPriority.Animation));
+                    }
+
+                    subscriptions?.Dispose();
+                });
+                disposables.Add(subscriptions);
             }

             if (to != null)
             {
-                to.IsVisible = true;
-                tasks.Add(_fadeInAnimation.RunAsync(to));
-
-            }
+                disposables.Add(to.SetValue(Visual.IsVisibleProperty, true, Data.BindingPriority.Animation));

-            await Task.WhenAll(tasks);
-
-            if (from != null)
-            {
-                from.IsVisible = false;
+                IDisposable subscriptions = null;
+                subscriptions = _fadeInAnimation.Apply(to, to.Clock, Observable.Return(true), () =>
+                {
+                    opacityDisp?.Dispose();
+                    subscriptions?.Dispose();
+                });
+                disposables.Add(subscriptions);
             }

-            if (to != null)
-            {
-                to.Opacity = 1;
-            }
+            return disposables;
         }

         /// <summary>

Probably we can pass cancellation tokens to async methods (at least it makes sense anyway).
cc @jmacato


Where's the lastest release distribution?

There is no release distribution after 3.1.3_release(Dec 17, 2018). Where's the lastest release distribution? Is there any release plan? Thanks~
Will the opensource version of zstack be long-term supported? Thanks

@lshmouse We've moved our focus to https://www.zstack.io and you can find the latest release at https://www.zstack.io/product/product_download/
The opensource version is surely supported as you can see that we have regular commit activities. ;-)
https://github.com/zstackio/zstack/graphs/commit-activity

@live4thee Thanks for your quick reply.
The IOS distribution is too complex for us. We want to build the source code from a release and test it. Maybe do some improvement and contribute to the community.   But there is no recent release tag or distribution there? Any release branch is recommanded? Thanks

@lshmouse check "branches".  We have branches for each releases.  Our latest release branch is 3.8.4

@live4thee OK. Thanks very much~


[BUG] Styled-components are unstyled in hydrogen (the component contains all the necessary props)

Describe the bug
Hello, it seems I have encountered a bug using styled-components from external library.
Once the component is loaded in front-end, it's not flagged as "component" in react dev tools (other Hydrogen elements are) and has no CSS applied.
To Reproduce
Reproduction Repository

Create a styled component like this one :

export const TestButton = styled.button`
  background: red;
  ${props => props.primary && css`
    color: blue;
  `}
`

Build it with ES / UMD (using viteJS or rollup). The compiled version looks like this:

const en=Qr.button.withConfig({displayName:"TestButton",componentId:"sc-levoo9-0"})((({variant:e="primary"})=>[{"--tw-bg-opacity":"1",backgroundColor:"rgba(239, 68, 68, var(--tw-bg-opacity))"},e==="primary"&&{"--tw-text-opacity":"1",color:"rgba(59, 130, 246, var(--tw-text-opacity))"}]));export{en as TestButton};

Add it to your application using yarn : yarn workspace hydrogen-app add @test/ui
Import the component in your App : <TestButton>Yo !</TestButton>
Launch your application => The button should be unstyled

Expected behaviour
The button should have CSS and shoudn't be unstyled.
Screenshots

Logs

Inside hydrogen app : console.log(TestButton)
{
'$$typeof': Symbol(react.forward_ref),
render: [Function: S] { displayName: 'TestButton' },
attrs: [],
componentStyle: e {
  rules: [ [Function (anonymous)], isCss: true ],
  staticRulesId: '',
  isStatic: false,
  componentId: 'TestButton-sc-levoo9-0',
  baseHash: -2120602885,
  baseStyle: undefined
},
shouldForwardProp: undefined,
foldedComponentIds: [],
styledComponentId: 'TestButton-sc-levoo9-0',
target: 'button',
withComponent: [Function (anonymous)],
warnTooManyClasses: [Function (anonymous)],
toString: [Function (anonymous)]
}

Inside hydrogen app : console.log(TestButton.componentStyle.rules[0]({variant: 'primary'}))
[
{
  transform: 'var(--tw-transform)',
  paddingLeft: '2rem',
  paddingRight: '2rem',
  paddingTop: '0.5rem',
  paddingBottom: '0.5rem',
  borderRadius: '0.25rem',
  ':focus': { outline: '2px solid transparent', outlineOffset: '2px' },
  transitionDuration: '75ms'
},
{
  ':hover, :focus': {
    '--tw-scale-x': '1.05',
    '--tw-scale-y': '1.05',
    transform: 'var(--tw-transform)',
    '--tw-text-opacity': '1',
    color: 'rgba(251, 191, 36, var(--tw-text-opacity))'
  }
},
{
  '--tw-bg-opacity': '1',
  backgroundColor: 'rgba(0, 0, 0, var(--tw-bg-opacity))',
  '--tw-text-opacity': '1',
  color: 'rgba(255, 255, 255, var(--tw-text-opacity))',
  '--tw-border-opacity': '1',
  borderColor: 'rgba(0, 0, 0, var(--tw-border-opacity))'
},
false,
{ fontSize: '0.875rem', lineHeight: '1.25rem' },
[ '\n    color: ', '#fff', ';\n  ', isCss: true ]
]

Additional context
In the reproduction repo, the same component from same build is used in:

Hydrogen App : component is unstyled
create-react-app : component is styled
react with viteJS as bundler : component is styled

Versions & System

Hydrogen version : 0.8.0
Node version : v14.18.1
Device details :
OS: Linux 5.4 Ubuntu 20.04.3 LTS (Focal Fossa)
CPU: (12) x64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
Memory: 393.64 MB / 15.32 GB
Container: Yes
Shell: 5.8 - /usr/bin/zsh

Thx for your time !

Yeah I see :(... I will try 2 things :

Default setup of React Server Components to try to use this styled-component as well (to investigate and assure that's is not working with RSC)
Try to setup the SSR from styled-components : both {"ssr": false} and <StyleSheetManager>

I will update this issue with what I found in each case.
Perhaps, no CSS-in-JS seems difficult to conceive and also quite sad: it is a very common way of doing things. I really hope that it is about a setup error (styled-components, react-dom-parser or html-dom-parser).
I haven't found anything in React's Github issues yet, but I'll go back and dig.
If the concern seems to be with React Server Components, I'll ask them and link the issue/discussion here.


replace blocking read file function with generic async function and s…

…ome code refactor

Cool, thanks


Support old html anchors in manifest chapter.

#7733 unintentionally broke some old HTML anchors in the manifest chapter.  This would cause any links out in the wild to not scroll to the correct position.
Unfortunately it is too late for the 1.42 release.  However, I'd like to backport this for 1.43.

r? @alexcrichton
(rust_highfive has picked a reviewer for you, use r? to override)

@bors: r+

:pushpin: Commit 6e08c9731c47c57f1d6d77500bc08eb05bc6a344 has been approved by alexcrichton

:hourglass: Testing commit 6e08c9731c47c57f1d6d77500bc08eb05bc6a344 with merge 94c7bc7bdbdb76f36686640117edbe20ce0e1707...

:sunny: Test successful - checks-azure
Approved by: alexcrichton
Pushing 94c7bc7bdbdb76f36686640117edbe20ce0e1707 to master...


Problem using osm world renderer to generate the map

Hi, I encountered a problem using the OSM world renderer to generate the map from the OSM.
My Carla version is 0.9.15
My system version is Unbuntu 22.04
I follow the tutorial in https://carla.readthedocs.io/en/latest/adv_digital_twin/, and download the OSM zip for Colorado, and then using the ./build.sh in libosmscout-source to create the map folder and assets, after successfully executed make osmrenderer.

Through the above picture, I thought the ./build.sh had been successfully executed. But I noticed that there are some errors in the output txt log files, but I do not know why the errors occur.
colorado-latest.txt
After that, I using the make launch to launch the carla and open the UW_OnRoadMainWidge plugin, and input the path to the generated map assets:

Then I run the osm world renderer by using the ./osmworldrenderer executable file:

Then I click the Config button, the osm world renderer start to compile the map files:

Then I click the Render button, the osm world renderer gave me the following error:

And the UW_OnRoadMainWidge still remain the following status:

Can any one tell me why the osm world renderer gave me the above error? And are there any methods to solve the error?

@JarvisLee0423 Hey, I encountered the same issue. I resolved it by following the instructions here. I hope that helps.

@JarvisLee0423 Hey, I encountered the same issue. I resolved it by following the instructions here. I hope that helps.

Thanks for your kind reply! I successfully used the instructions in the link you shared to generate the map from the example OSM, like the images below:

However, I still face a problem, which is that, after generating the map, CARLA will give me two map assets, one named Colorado and another named Colorado_Tile_0_0, like the image illustrated below:

It seems that all the geometric assets will be saved in Colorado_Tile_0_0 map, and all the world parameters assets will be saved in Colorado map, like the world light setting and playable setting. In this case, if I load the Colorado_Tile_0_0 map, the windows will be all dark, till I put a direct light component inside the map manually. This situation is shown in images below:
Directly load Colorado_Tile_0_0 map:

After I put a direct light component manually:

Meanwhile, the error will occur if I push the play button, cause the playable component is not in the Colorado_Tile_0_0 map.
After that, if I load the Colorado map, the window will only show the default sky and does not contain any buildings or roads, like the image demonstrated below:

Therefore, I would like to know have you ever faced this problem before? If yes, could you tell me how to fix it? Or are there any methods to merge these two maps?


make req key customizable

I want to generalize this to use this to look for other potential keys and set them to things other than req.token

:+1: with a test and some docs


'Config'=false  setting from parent/grand-parents not getting inherited to data nodes under a choice

This is continuation of https://github.com/freeconf/yang/issues/75
After the above fix, we are able to add config false;  under choice and loading of file is sucess.
But  the Config() method for the data node is still returning true;
Also ,  if any of the parent/grand parent is set to config false,  this config is not inherited to the nodes under the choice.
module config-with-choice2 {

	namespace "urn:params:config-with-choice2";
	prefix basic_config;

	yang-version 1.1;

	container root-container {
		config false;
		leaf leaf-init {
			description "This is a leaf with config false";
			type boolean;
			default true;
			units USD;

		}
		leaf-list leaf-list-init {
			description "This is a leaf-list with config false";
			type string;
			units USD;

		}
		container container-init {

			description "This is a container with config false";
			leaf leaf-boolean {
				type boolean;
				default true;
			}
		}
		list list-init {

			description "This is a list with config false";
			leaf-list leaf-list-under-list {
				type string;
			}
		}
		choice choice-init {
			description "This is a choice with config false";
			default case-A;
			config false;
			case case-A {
				leaf leaf-init1 {
					type string;
				}
			}
			case case-B {
				leaf leaf-init2 {
					type string;
				}
			}
		}
		container container-nod {

			container second {
				leaf leaf-boolean-2 {
					type boolean;
				}
			}
			leaf leaf-boolean {
				type boolean;

			}
		}
		list list-nod {

			leaf-list leaf-list-under-list {
				type string;

			}
		}
		choice choice-nod {
			case case-A {
				leaf leaf-init3 {
					type string;
				}
			}
			case case-B {
				leaf leaf-init4 {
					type string;
				}
			}
		}
	}
}

In the above exmaple file,  config=false was set for root-container . So it was expected that the Config() will return false for all the  data nodes in this file.  It was as expected for all data nodes except which are under a choice.
For   leaf-init1,  leaf-init2,  leaf-init3,  and leaf-init4  which are under choice are returning .Config() as true always.   The config=false is not inherited  from above.
RFC references:
In https://www.rfc-editor.org/rfc/rfc7950#section-4.2.3
When a node is tagged with "config false", its subhierarchy is flagged as state data.
and
https://www.rfc-editor.org/rfc/rfc7950#section-7.21.1

i believe i fixed this, would you mind verifying this and closing if so?

Hi @dhubler , I have tested using image for the latest commit you did for  https://github.com/freeconf/yang/issues/85,  but still i see that config() is returned as true for the leafs under a choice case even if the choice is having config=false.
Also config=false from the tp most container is not inherited to leafs under choice  case.

ok, this time i fixed it for sure.


cannot open input file

Severity	Code	Description	Project	File	Line	Suppression State	Details
Error	LNK1181	cannot open input file 'G:\Windows Kits\10\Lib\10.0.22621.0\um\x64\OpenGL32.Lib'	ZapClient-Windows	C:\Users\NAME\Downloads\ZapClient-Windows-master\LINK	1

fixed

its not fix I get the same error

its not fix I get the same error

You should download opengl library


Terminal Scroll Bar is set to auto

The xterm-viewport was setting overflow-y to scroll causing scroll bars to appear. Now they are set back to auto.
Closes: #801
Before:

After:

But what happens when you have more text than what fits on the screen?

You are still able to scroll up/down through terminal output

But you don't see a scrollbar when one is required. I think you want overflow-y: auto;.

That makes more sense. I went ahead and made that change

Could you please add double line breaks between each section of the CSS?

@afshin Does that also apply to the import statement?

Yes, after the import statement, not before. I think the conventions were not applied across the board. We'll have to update them.

👍


Made TouchHandler.OnTap works like mouse click

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: ancning sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

sorry wrong branch...


Debug flag to visualize label collision boxes

@dmvaldman created some debugging rendering of label collision boxes by simply drawing the boxes in the underlying texture, with Canvas.
It would be generally useful to expose this option behind a debug flag. We currently have a debug property on the Scene, which can be used to configure a few different debug flags: https://github.com/tangrams/tangram/blob/master/src/scene.js#L1127.
However, this may not be the best approach to extend, given that the scene object won't always be available in other modules like CanvasText. Perhaps we should consider moving these to a global level, e.g. Tangram.debug, or something similar (note we'd probably still have to "sync" debug settings to worker threads)?

Should we add this as an option on the scene file? Something like:
{
    ...
    text:
        bounding_box: true,
        color: 'red',
        width: 1px
}

Or would you rather it be a debug setting?

The pattern we usually follow is to implement these types of things with a way to turn them on/off at run-time. We could consider some type of debug flag that could be turned on in the scene file for authoring purpose, but even then I think letting people style their debug lines is going a bit far :)
Let's just make it configurable via Tangram (or another JS object) for now.

Initial implementation here: https://github.com/tangrams/tangram/compare/label-boxes
I created a new file called debug_settings.js in utils. Maybe we could move other such settings there? It would also be nice to have a function you can run on the command line to rebuild the scene after patching something in the debug_settings

Makes sense - added a few comments on the commit.
What do you think of migrating this scene debug param (for profiling) there too?

Sure, do you have a more descriptive name for geometry_build? Or maybe a one-liner that I can add as a comment above each debug flag?

Yeah we can rename it, the idea of nesting them under different groups (profile.geometry_build) might have been overkill :)  It could be something like profile_geometry_build_time? It's that flag we use to time how long it takes for tile geometry to build, if you have other suggestions. I just added a new debug flag in a branch we can move to this pattern too once it's merged.

Closing to move the discussion to the PR https://github.com/tangrams/tangram/pull/371


334 | Increasing Triplet Subsequence | C++

Title -
Solution for increasing triplet subsequence
Type of Issue -
Please add/delete options that are not relevant.

[x] Adding New Code
[ ] Improving Code
[ ] Improving Documentation
[ ] Bug Fix

Programming Language
Please add/delete options that are not relevant.

[ ] Python
[x] C++
[ ] Java
[ ] SQL

Self Check

Ask for issue assignment and wait to get assigned to it before making Pull Request.
Add your file in the proper folder
Clean Code and Documentation for better readability
Add Title and Description of the program in the file

:star2: Star it :fork_and_knife:Fork it :handshake: Contribute to it!
Discord server ✉ - https://discord.gg/CXksGdn
Happy Coding,

Can this issue be assigned to me?


Publish v0.6.0

There does not seem to be any major API breakage, however the emscripten
and macos backends have been pretty heavily refactored so I thought it
best to bump to 0.6 (rather than 0.5.2) just in case there is any subtle
behavioural breakage. Happy to change this to 0.5.2 though if someone
can confirm there will be no downstream breakage.

Thanks


hyprpicker: init at unstable-2022-11-06

Description of changes

Adds hyprpicker.
Closes #199913.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] 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
[x] 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.

Don't know if this helps in any way, but I tried:

git clone https://github.com/NixOS/nixpkgs.git && cd nixpkgs
nixpkgs-review pr 199917
./results/hyprpicker/bin/hyprpicker

and the application works great, without any problems or errors. 👍

Result of nixpkgs-review pr 199917 run on x86_64-linux 1

1 package built:

hyprpicker

Is this only for Hyprland? I tried it on Sway and seems to do nothing?

Is this only for Hyprland? I tried it on Sway and seems to do nothing?

It's described as "wlroots-compatible Wayland color picker", so it >should< work outside of Hyprland 🤷
Sorry for the following question, but did you manually execute it from a terminal, (to get the result in it), or piped it to clipboard for that, e. g. with hyprpicker | wl-copy?

I'm on Sway and it works just fine, both with direct terminal execution and hyprpicker | wl-copy.

hyprpicker | wl-copy works but running it from the terminal apparently prints nothing ?


⚠ Spryr has degraded performance

In 8edb032, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 5278 ms

Resolved: Spryr performance has improved in b98fcf5 after 7 minutes.


Added heartbeat for retrievers and more logging info with new metrics

This changes allow to receive in netdata:

queue size in sync.py
count of yielded resource items

This change is

Coverage decreased (-1.04%) to 85.034% when pulling 7ae046f04a5595cc2d8f38ecfc8e2bf057716d2a on VDigitall:more_logging into 6b0766ccbc63372be494c1231d4de7f846081fa9 on openprocurement:use_requests.


size of updates and md5sum

I have a disconnected Azure stack 1809 for now. the update is 316 K, and hotfixes around 340M is that correct, can you specify these as part of the announcement with a hash for the files? also, are these enough one hotfix and the update to bring 1809  to latest 1811?

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

ID: 59a27271-21e7-da9c-2fc4-dfa8b1c1bdca
Version Independent ID: 21fccb06-b91b-66cb-261d-0906697b6f19
Content: Azure Stack 1811 update
Content Source: articles/azure-stack/azure-stack-update-1811.md
Service: azure-stack
GitHub Login: @sethmanheim
Microsoft Alias: sethm

@walidshaari Can you clarify what the documentation issue is here? Are you asking for the size of the update to be specified in the release notes?

@walidshaari We are closing this issue now, but if you still require assistance, please open a new one. Thank you! #please-close

@walidshaari We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


change reservation "EPOCH" field to "DATE"

Mainly needed in high level UI's, will see if still needed after those changed

UI changes are sufficient, closing for now


Gave up waiting for X server (GoW on a headless Proxmox inside a ubuntu based lxc container)

With the help of @tteck I was able to run GoW inside a ubuntu based lxc container with access to h/w encoding on a headless Proxmox 7.1 installation. Sadly GoW quits for unkown reasons.
cat /etc/pve/local/lxc/103.conf
arch: amd64
cores: 2
features: fuse=1,keyctl=1,mknod=1,nesting=1
hostname: GamesonWhale
memory: 2048
net0: name=eth0,bridge=vmbr0,hwaddr=9E:48:DB:D1:B5:AC,ip=dhcp,type=veth
onboot: 1
ostype: ubuntu
rootfs: dpool:subvol-103-disk-0,size=8G
swap: 512
lxc.cgroup2.devices.allow: a
lxc.cap.drop:
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.cgroup2.devices.allow: c 29:0 rwm
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir
lxc.mount.entry: /dev/dri/renderD128 dev/renderD128 none bind,optional,create=file
lxc.mount.entry: /dev/uinput dev/uinput none bind,optional,create=dir

root@gow-debian-lxc:~/gow# docker-compose up
Starting gow_udevd_1 ... done
Starting gow_pulse_1 ... done
Starting gow_xorg_1 ... done
Starting gow_sunshine_1 ... done
Starting gow_retroarch_1 ... done
Attaching to gow_udevd_1, gow_xorg_1, gow_pulse_1, gow_sunshine_1, gow_retroarch_1
pulse_1 | Sat, 05 Feb 2022 19:32:15 +0000: /startup.sh: Starting pulseaudio
pulse_1 | W: [pulseaudio] main.c: This program is not intended to be run as root (unless --system is specified).
pulse_1 | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
pulse_1 | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
pulse_1 | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
pulse_1 | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
pulse_1 | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
pulse_1 | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
pulse_1 | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
pulse_1 | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
pulse_1 | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
pulse_1 | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
pulse_1 | E: [pulseaudio] core-util.c: Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
sunshine_1 | Sat, 05 Feb 2022 19:32:16 +0000: /startup.sh: Waiting for X Server :99 to be available
udevd_1 | monitor will print the received events for:
pulse_1 | W: [pulseaudio] authkey.c: Failed to open cookie file '/home/retro/.config/pulse/cookie': No such file or directory
pulse_1 | W: [pulseaudio] authkey.c: Failed to load authentication key '/home/retro/.config/pulse/cookie': No such file or directory
pulse_1 | W: [pulseaudio] authkey.c: Failed to open cookie file '/home/retro/.pulse-cookie': No such file or directory
pulse_1 | W: [pulseaudio] authkey.c: Failed to load authentication key '/home/retro/.pulse-cookie': No such file or directory
pulse_1 | W: [pulseaudio] server-lookup.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
pulse_1 | W: [pulseaudio] main.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
xorg_1 | Not modifying user groups ()
xorg_1 | Starting Xorg (:99)
xorg_1 |
xorg_1 | X.Org X Server 1.20.11
xorg_1 | X Protocol Version 11, Revision 0
xorg_1 | Build Operating System: linux Ubuntu
xorg_1 | Current Operating System: Linux homeassistant 5.11.22-7-pve #1 SMP PVE 5.11.22-12 (Sun, 07 Nov 2021 21:46:36 +0100) x86_64
xorg_1 | Kernel command line: initrd=\EFI\proxmox\5.11.22-7-pve\initrd.img-5.11.22-7-pve root=ZFS=rpool/ROOT/pve-1 boot=zfs intel_iommu=on iommu=pt pci=realloc,assign-busses pcie_acs_override=downstream,multifunction kvm.ignore_msrs=1 kvm.report_ignored_msrs=0 vfio_iommu_type1.allow_unsafe_interrupts=1
xorg_1 | Build Date: 06 July 2021 10:17:51AM
udevd_1 | UDEV - the event which udev sends out after rule processing
udevd_1 | KERNEL - the kernel uevent
udevd_1 |
udevd_1 | KERNEL[14429.639837] remove /devices/virtual/net/veth472af04 (net)
udevd_1 | KERNEL[14429.828129] add /devices/virtual/bdi/0:100 (bdi)
udevd_1 | KERNEL[14429.834764] add /devices/virtual/net/vethe42d697 (net)
udevd_1 | KERNEL[14429.834820] add /devices/virtual/net/vethe42d697/queues/rx-0 (queues)
udevd_1 | KERNEL[14429.834839] add /devices/virtual/net/vethe42d697/queues/tx-0 (queues)
udevd_1 | KERNEL[14429.836952] add /devices/virtual/net/vetha22117b (net)
udevd_1 | KERNEL[14429.837008] add /devices/virtual/net/vetha22117b/queues/rx-0 (queues)
udevd_1 | KERNEL[14429.837026] add /devices/virtual/net/vetha22117b/queues/tx-0 (queues)
udevd_1 | KERNEL[14430.691269] remove /devices/virtual/net/vethe42d697 (net)
udevd_1 | KERNEL[14430.844437] add /devices/virtual/bdi/0:105 (bdi)
xorg_1 | xorg-server 2:1.20.11-1ubuntu1.1 (For technical support please see http://www.ubuntu.com/support)
xorg_1 | Current version of pixman: 0.40.0
xorg_1 | Before reporting problems, check http://wiki.x.org
xorg_1 | to make sure that you have the latest version.
xorg_1 | Markers: (--) probed, (**) from config file, (==) default setting,
xorg_1 | (++) from command line, (!!) notice, (II) informational,
xorg_1 | (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
xorg_1 | (==) Log file: "/var/log/Xorg.99.log", Time: Sat Feb 5 19:32:14 2022
xorg_1 | (==) Using system config directory "/usr/share/X11/xorg.conf.d"
xorg_1 | (EE)
xorg_1 | Fatal server error:
xorg_1 | (EE) xf86OpenConsole: Cannot open virtual console 1 (Input/output error)
xorg_1 | (EE)
xorg_1 | (EE)
xorg_1 | Please consult the The X.Org Foundation support
xorg_1 | at http://wiki.x.org
xorg_1 | for help.
xorg_1 | (EE) Please also check the log file at "/var/log/Xorg.99.log" for additional information.
xorg_1 | (EE)
xorg_1 | (EE) Server terminated with error (1). Closing log file.
xorg_1 | error: could not open display
retroarch_1 | Sat, 05 Feb 2022 19:32:16 +0000: /startup.sh: Waiting for X Server :99 to be available
xorg_1 | Sat, 05 Feb 2022 19:34:17 +0000: /usr/bin/wait-x11: FATAL: /usr/bin/wait-x11: Gave up waiting for X server :99
udevd_1 | KERNEL[14552.462743] remove /devices/virtual/bdi/0:92 (bdi)
gow_xorg_1 exited with code 11
sunshine_1 | Sat, 05 Feb 2022 19:34:19 +0000: /usr/bin/wait-x11: FATAL: /usr/bin/wait-x11: Gave up waiting for X server :99
retroarch_1 | Sat, 05 Feb 2022 19:34:19 +0000: /usr/bin/wait-x11: FATAL: /usr/bin/wait-x11: Gave up waiting for X server :99
udevd_1 | KERNEL[14554.248448] remove /devices/virtual/bdi/0:105 (bdi)
gow_retroarch_1 exited with code 11
udevd_1 | KERNEL[14554.411235] add /devices/virtual/net/vethe42d697 (net)
udevd_1 | KERNEL[14554.411306] move /devices/virtual/net/vethe42d697 (net)
udevd_1 | KERNEL[14554.428553] remove /devices/virtual/net/vethe42d697/queues/rx-0 (queues)
udevd_1 | KERNEL[14554.428755] remove /devices/virtual/net/vethe42d697/queues/tx-0 (queues)
udevd_1 | KERNEL[14554.428988] remove /devices/virtual/net/vethe42d697 (net)
udevd_1 | KERNEL[14554.467411] remove /devices/virtual/net/vetha22117b/queues/rx-0 (queues)
udevd_1 | KERNEL[14554.467640] remove /devices/virtual/net/vetha22117b/queues/tx-0 (queues)
udevd_1 | KERNEL[14554.467905] remove /devices/virtual/net/vetha22117b (net)
udevd_1 | KERNEL[14554.494531] remove /devices/virtual/bdi/0:100 (bdi)

    gow_sunshine_1 exited with code 11

@ABeltramo I've looked at the troubleshooting section but it wasn't really helpful.

Here is the output of the Xorg.99.log:
docker exec -it gow_xorg_1 cat /var/log/Xorg.99.log
[   352.620]
X.Org X Server 1.20.11
X Protocol Version 11, Revision 0
[   352.622] Build Operating System: linux Ubuntu
[   352.623] Current Operating System: Linux GamesonWhale 5.11.22-7-pve #1 SMP PVE 5.11.22-12 (Sun, 07 Nov 2021 21:46:36 +0100) x86_64
[   352.624] Kernel command line: initrd=\EFI\proxmox\5.11.22-7-pve\initrd.img-5.11.22-7-pve root=ZFS=rpool/ROOT/pve-1 boot=zfs intel_iommu=on iommu=pt pci=realloc,assign-busses pcie_acs_override=downstream,multifunction kvm.ignore_msrs=1 kvm.report_ignored_msrs=0 vfio_iommu_type1.allow_unsafe_interrupts=1
[   352.626] Build Date: 06 July 2021  10:17:51AM
[   352.627] xorg-server 2:1.20.11-1ubuntu1.1 (For technical support please see http://www.ubuntu.com/support)
[   352.627] Current version of pixman: 0.40.0
[   352.628] 	Before reporting problems, check http://wiki.x.org
	to make sure that you have the latest version.
[   352.629] Markers: (--) probed, (**) from config file, (==) default setting,
	(++) from command line, (!!) notice, (II) informational,
	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[   352.643] (==) Log file: "/var/log/Xorg.99.log", Time: Sun Feb  6 15:02:51 2022
[   352.654] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[   352.657] (==) No Layout section.  Using the first Screen section.
[   352.657] (==) No screen section available. Using defaults.
[   352.658] (**) |-->Screen "Default Screen Section" (0)
[   352.658] (**) |   |-->Monitor "<default monitor>"
[   352.659] (==) No monitor specified for screen "Default Screen Section".
	Using a default monitor configuration.
[   352.660] (==) Automatically adding devices
[   352.660] (==) Automatically enabling devices
[   352.660] (==) Automatically adding GPU devices
[   352.661] (==) Automatically binding GPU devices
[   352.661] (==) Max clients allowed: 256, resource mask: 0x1fffff
[   352.679] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[   352.679] 	Entry deleted from font path.
[   352.679] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[   352.679] 	Entry deleted from font path.
[   352.679] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[   352.679] 	Entry deleted from font path.
[   352.680] (WW) The directory "/usr/share/fonts/X11/Type1" does not exist.
[   352.680] 	Entry deleted from font path.
[   352.680] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[   352.680] 	Entry deleted from font path.
[   352.680] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[   352.680] 	Entry deleted from font path.
[   352.680] (==) FontPath set to:
	/usr/share/fonts/X11/misc,
	built-ins
[   352.680] (==) ModulePath set to "/usr/lib/xorg/modules"
[   352.680] (II) The server relies on udev to provide the list of input devices.
	If no devices become available, reconfigure udev or disable AutoAddDevices.
[   352.680] (II) Loader magic: 0x5594c9df0020
[   352.680] (II) Module ABI versions:
[   352.681] 	X.Org ANSI C Emulation: 0.4
[   352.681] 	X.Org Video Driver: 24.1
[   352.682] 	X.Org XInput driver : 24.1
[   352.684] 	X.Org Server Extension : 10.0
[   352.687] (EE) dbus-core: error connecting to system bus: org.freedesktop.DBus.Error.FileNotFound (Failed to connect to socket /run/dbus/system_bus_socket: No such file or directory)
[   352.688] (++) using VT number 1

[   352.690] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[   352.693] (II) xfree86: Adding drm device (/dev/dri/card0)
[   352.704] (--) PCI:*(0@0:2:0) 8086:5a85:1849:5a85 rev 11, Mem @ 0x90000000/16777216, 0x80000000/268435456, I/O @ 0x0000f000/64, BIOS @ 0x????????/131072
[   352.705] (II) LoadModule: "glx"
[   352.710] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[   352.719] (II) Module glx: vendor="X.Org Foundation"
[   352.719] 	compiled for 1.20.11, module version = 1.0.0
[   352.719] 	ABI class: X.Org Server Extension, version 10.0
[   352.720] (==) Matched modesetting as autoconfigured driver 0
[   352.720] (==) Matched fbdev as autoconfigured driver 1
[   352.720] (==) Matched vesa as autoconfigured driver 2
[   352.720] (==) Assigned the driver to the xf86ConfigLayout
[   352.720] (II) LoadModule: "modesetting"
[   352.721] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[   352.722] (II) Module modesetting: vendor="X.Org Foundation"
[   352.722] 	compiled for 1.20.11, module version = 1.20.11
[   352.722] 	Module class: X.Org Video Driver
[   352.722] 	ABI class: X.Org Video Driver, version 24.1
[   352.722] (II) LoadModule: "fbdev"
[   352.723] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[   352.724] (II) Module fbdev: vendor="X.Org Foundation"
[   352.724] 	compiled for 1.20.10, module version = 0.5.0
[   352.724] 	Module class: X.Org Video Driver
[   352.724] 	ABI class: X.Org Video Driver, version 24.1
[   352.725] (II) LoadModule: "vesa"
[   352.725] (II) Loading /usr/lib/xorg/modules/drivers/vesa_drv.so
[   352.726] (II) Module vesa: vendor="X.Org Foundation"
[   352.726] 	compiled for 1.20.10, module version = 2.5.0
[   352.726] 	Module class: X.Org Video Driver
[   352.726] 	ABI class: X.Org Video Driver, version 24.1
[   352.726] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[   352.727] (II) FBDEV: driver for framebuffer: fbdev
[   352.727] (II) VESA: driver for VESA chipsets: vesa
[   352.727] (EE)
Fatal server error:
[   352.728] (EE) xf86OpenConsole: Cannot open virtual console 1 (No such file or directory)
[   352.729] (EE)
[   352.730] (EE)
Please consult the The X.Org Foundation support
	 at http://wiki.x.org
 for help.
[   352.731] (EE) Please also check the log file at "/var/log/Xorg.99.log" for additional information.
[   352.732] (EE)
[   352.733] (WW) xf86CloseConsole: KDSETMODE failed: Bad file descriptor
[   352.734] (WW) xf86CloseConsole: VT_GETMODE failed: Bad file descriptor
[   352.736] (EE) Server terminated with error (1). Closing log file.

You can vote for the lxc template here. Maybe a collab between both github projects could be fruitful.

You can vote for the lxc template here. Maybe a collab between both github projects could be fruitful.


DropdownButton's hint alignment is affected by selectedItemBuilder

issue
The hint widget isn't wrapped with _DropdownMenuItemContainer when selectedItemBuilder is set.
https://github.com/flutter/flutter/blob/8c67684fce26f3ec74b598ac957e1d874913c563/packages/flutter/lib/src/material/dropdown.dart#L1399-L1404
this causes the hint widget to have a float effect.

dartpad demo: https://dartpad.dev/?id=f31fae9f27d88f616522d15ef71777bc
I believe selectedItemBuilder should only affect the selected menu item. Since hint can't be selected, it should still be wrapped to the default DropdownMenuItemContainer.
proposal
displayedHint to be always wrapped with DropdownMenuItemContainer

fixed in https://github.com/flutter/flutter/pull/106731


Mixed tutorial

Added folders and files for a hierarchical design items.
Added steps for going through more TODOs in a mixed project.

Some more ideas:

step_1: the clocked process is a good place to demonstrate the content assist when inserting a case statement using the enum type signal that yields a skeleton FSM. I would place a TODO comment before the "Quick Outline" TODO, instructing the user to start typing case and selecting Case Statement over sig...
at the end of step_1: add instructions to open step_2
at the end of step_2, instruct to close the preprocessor and open step_3

Another suggestion, related to lines 23-27 in step_1:
What about removing the .project and .library_mapping.xml files from the repository? Then the SiStVSC extension won't start initially. This comment can then explain how to start using the SiStVSC extension using the Command Pallette (now inroduced on line 32) to invoke the Sigasi:  Add VHDL Support command.
Then, in the step_2_sv.sv file, we can instruct using the Sigasi:  Add Verilog/SystemVerilog Support command.