Warning: NaN is an invalid value for the height css style property.

I'm getting the following warnings in a Jest test:
  console.error node_modules/fbjs/lib/warning.js:33
    Warning: `NaN` is an invalid value for the `height` css style property.
        in div (created by DayPicker)
        in div (created by DayPicker)
        in div (created by DayPicker)
        in div (created by OutsideClickHandler)
        in OutsideClickHandler (created by DayPicker)
        in div (created by DayPicker)
        in DayPicker (created by withStyles(DayPicker))
        in withStyles(DayPicker) (created by DayPickerSingleDateController)
        in DayPickerSingleDateController (at DateTimeSelector.js:131)
        in div (created by DateTimeSelector__DayPickerWrapper)
        in DateTimeSelector__DayPickerWrapper (at DateTimeSelector.js:130)
        in div (created by DateTimeSelector__Container)
        in DateTimeSelector__Container (at DateTimeSelector.js:126)
        in DateTimeSelector (created by Connect(DateTimeSelector))
        in Connect(DateTimeSelector) (at OrderPage.js:166)
        in div (created by OrderPage__Container)
        in OrderPage__Container (at OrderPage.js:165)
        in OrderPage (created by Connect(OrderPage))
        in Connect(OrderPage) (at index.js:9)
        in Route (at index.js:5)
        in ProtectedRoute (at PortalApp.js:36)
        in Switch (at PortalApp.js:22)
        in div (at PortalApp.js:20)
        in Router (created by BrowserRouter)
        in BrowserRouter (at PortalApp.js:19)
        in Routes (created by Connect(Routes))
        in Connect(Routes) (at PortalApp.js:85)
        in Provider (at PortalApp.js:84)
        in PortalApp (created by WrapperComponent)
        in WrapperComponent

  console.error node_modules/fbjs/lib/warning.js:33
    Warning: Can only update a mounted or mounting component. This usually means you called setState, replaceState, or forceUpdate on an unmounted component. This is a no-op.

    Please check the code for the DayPicker component.

I solved that adding the following line to setupTests.js:
jest.spyOn(CalendarMonth.WrappedComponent.prototype, 'setMonthTitleHeight').mockImplementation();

I also get the following:
  console.error node_modules/fbjs/lib/warning.js:33
    Warning: `NaN` is an invalid value for the `width` css style property.
        in div (created by DayPicker)
        in DayPicker (created by withStyles(DayPicker))
        in withStyles(DayPicker) (created by DayPickerSingleDateController)
        in DayPickerSingleDateController (at DateTimeSelector.js:131)
        in div (created by DateTimeSelector__DayPickerWrapper)
        in DateTimeSelector__DayPickerWrapper (at DateTimeSelector.js:130)
        in div (created by DateTimeSelector__Container)
        in DateTimeSelector__Container (at DateTimeSelector.js:126)
        in DateTimeSelector (created by Connect(DateTimeSelector))
        in Connect(DateTimeSelector) (at OrderPage.js:166)
        in div (created by OrderPage__Container)
        in OrderPage__Container (at OrderPage.js:165)
        in OrderPage (created by Connect(OrderPage))
        in Connect(OrderPage) (at index.js:9)
        in Route (at index.js:5)
        in ProtectedRoute (at PortalApp.js:36)
        in Switch (at PortalApp.js:22)
        in div (at PortalApp.js:20)
        in Router (created by BrowserRouter)
        in BrowserRouter (at PortalApp.js:19)
        in Routes (created by Connect(Routes))
        in Connect(Routes) (at PortalApp.js:85)
        in Provider (at PortalApp.js:84)
        in PortalApp (created by WrapperComponent)
        in WrapperComponent

Solved by:
const { componentDidMount } = DayPicker.WrappedComponent.prototype;
jest.spyOn(DayPicker.WrappedComponent.prototype, 'componentDidMount').mockImplementation(
    function mock(...args) {
        const { style } = this.calendarInfo;
        if (!style.marginLeft) style.marginLeft = 0;
        if (!style.marginRight) style.marginRight = 0;
        componentDidMount.apply(this, args);
    },
);

I think that both NaN are generated in calculateDimension
https://github.com/airbnb/react-dates/blob/83ec316167b499ce939058973da0aff30e70d178/src/utils/calculateDimension.js#L19
Would be nice to do something like:
if (withMargin) {
  size +=
    parseFloat(style[`margin${axisStart}`] || 0)
    + parseFloat(style[`margin${axisEnd}`] || 0);
}

Any updates on this? Or is the jest.spyOn() the only solution?

This doesn’t really seem like a bug - if you mock something, it is solely on you to provide a correct mock, and the contract for that function is that it always returns something that parseFloat can handle.
You can choose to spy or stub any function you want, but you can’t reliably avoid returning the proper kind of value.

Any updates on this? The warning is annoying.
@isi-gach could you elaborate on your jest.spyOn() solution? Where/from which package do I import DayPicker and CalendarMonth? Can't seem to work
    TypeError: Cannot read property 'style' of undefined

      12 | const { componentDidMount } = DayPicker.WrappedComponent.prototype;
      13 | jest.spyOn(DayPicker.WrappedComponent.prototype, "componentDidMount").mockImplementation(function mock(...args) {
    > 14 |   const { style } = this.calendarInfo;
         |           ^
      15 |   if (!style.marginLeft) style.marginLeft = 0;
      16 |   if (!style.marginRight) style.marginRight = 0;
      17 |   componentDidMount.apply(this, args);

@fushar no update yet.
Simpler repro code would be nice; a failing test case in a PR would be most ideal.

I'm also seeing the same things and debugged deeply to work it out. As pointed out above the issue stems from within the calculateDimenion util. Specifically the lines when it tries to access style properties.
style["margin|padding|border"] are all returning undefined. I'm fairly confident this traces back to jsdom not supporting window.getComputedStyle fully as it's only returning 2 values for the element: display and visibility.
I think providing the suggested fallback can work i.e. style["margin${axisStart}"] || 0

Seems reasonable (the priority, of course, is the browser, not jsdom). Care to make a PR?

Sure I'll take a stab at it

For those who want to remove this error from their tests right now:
Object.defineProperty(window, 'getComputedStyle', {
    value: () => ({
        paddingLeft: 0,
        paddingRight: 0,
        paddingTop: 0,
        paddingBottom: 0,
        marginLeft: 0,
        marginRight: 0,
        marginTop: 0,
        marginBottom: 0,
        borderBottomWidth: 0,
        borderTopWidth: 0,
        borderRightWidth: 0,
        borderLeftWidth: 0
    })
});

Thanks for the Solution @freshollie it works.
Can you please explain whats happening here.

@srinivasadnt3 The component is trying to calculate from the size of an element. For this, it uses the getComputedStyle function to find all the styles applied to the element. Because the JSDom has no concept of CSS, or at least it's not ever actually applied to elements, getComputedStyle fails to yield those properties which the calculation is looking for. This means that the calculation ends up creating NaN numbers from the calculation, which is then applied to the react style property, creating the JSDom error.
This solution makes the output of getComputedStyle always 0 for all those properties.

@freshollie workaround didn't work entire for me, since I was using the current getComputedStyle implementation of jsdom, that return a few stuffs (https://github.com/jsdom/jsdom/blob/master/lib/jsdom/browser/Window.js#L643-L671) and default return for getComputedStyle is CSSStyleDeclaration. That way I got the principle of his idea and arrived in this solution:
const originalGetComputedStyle = window.getComputedStyle

const getComputedStyle = (...args) => {
  const cssStyleDeclaration = originalGetComputedStyle(...args)
  cssStyleDeclaration.setProperty('padding-left', 0)
  cssStyleDeclaration.setProperty('padding-right', 0)
  cssStyleDeclaration.setProperty('padding-top', 0)
  cssStyleDeclaration.setProperty('padding-bottom', 0)
  cssStyleDeclaration.setProperty('margin-left', 0)
  cssStyleDeclaration.setProperty('margin-right', 0)
  cssStyleDeclaration.setProperty('margin-top', 0)
  cssStyleDeclaration.setProperty('margin-bottom', 0)
  cssStyleDeclaration.setProperty('border-left-width', 0)
  cssStyleDeclaration.setProperty('border-right-width', 0)
  cssStyleDeclaration.setProperty('border-top-width', 0)
  cssStyleDeclaration.setProperty('border-bottom-width', 0)
  return cssStyleDeclaration
}

Object.defineProperty(window, 'getComputedStyle', {
  value: getComputedStyle,
})

Here's a typescript version of @renatoagds awesome contribution, using a jest spy that is properly cleaned up in between tests.
let windowSpy: jest.SpyInstance;

beforeEach(() => {
  const originalGetComputedStyle = window.getComputedStyle;

  const getComputedStyle = (...args: any[]) => {
    const cssStyleDeclaration = originalGetComputedStyle(args[0], args[1]);
    cssStyleDeclaration.setProperty('padding-left', '0');
    cssStyleDeclaration.setProperty('padding-right', '0');
    cssStyleDeclaration.setProperty('padding-top', '0');
    cssStyleDeclaration.setProperty('padding-bottom', '0');
    cssStyleDeclaration.setProperty('margin-left', '0');
    cssStyleDeclaration.setProperty('margin-right', '0');
    cssStyleDeclaration.setProperty('margin-top', '0');
    cssStyleDeclaration.setProperty('margin-bottom', '0');
    cssStyleDeclaration.setProperty('border-left-width', '0');
    cssStyleDeclaration.setProperty('border-right-width', '0');
    cssStyleDeclaration.setProperty('border-top-width', '0');
    cssStyleDeclaration.setProperty('border-bottom-width', '0');
    return cssStyleDeclaration;
  };

  windowSpy = jest.spyOn(window, 'getComputedStyle');
  windowSpy.mockImplementation(getComputedStyle);
});

afterEach(() => {
  windowSpy.mockRestore();
});


Does not work with babel config in package.json

I created a new expo project and installed react-native-paper and react-native-paper-dropdown. I then added the react-native-paper/babel plugin to the babel config. To test the package, I copied the demo code of this package into the App.js file and everything worked like expected.
But when i copy the babel config into the package.json file, i always get the following errors and the dropdowns do not open.
On the normal dropdown, I get a warning.

Error
Error: EISDIR: illegal operation on a directory, read
    at Object.readSync (node:fs:723:3)
    at tryReadSync (node:fs:433:20)
    at Object.readFileSync (node:fs:479:19)
    at UnableToResolveError.buildCodeFrameMessage (/Users/huckjulius/Projects/Test/my-app/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:347:17)
    at new UnableToResolveError (/Users/huckjulius/Projects/Test/my-app/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:333:35)
    at ModuleResolver.resolveDependency (/Users/huckjulius/Projects/Test/my-app/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:211:15)
    at DependencyGraph.resolveDependency (/Users/huckjulius/Projects/Test/my-app/node_modules/metro/src/node-haste/DependencyGraph.js:413:43)
    at /Users/huckjulius/Projects/Test/my-app/node_modules/metro/src/lib/transformHelpers.js:317:42
    at /Users/huckjulius/Projects/Test/my-app/node_modules/metro/src/Server.js:1471:14
    at Generator.next ()
[Unhandled promise rejection: Error: Looks like you forgot to wrap your root component with Provider component from react-native-paper.]
at https://callstack.github.io/react-native-paper/getting-started.html:null in
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:136855:25 in checkManager
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:136825:33 in componentDidMount$
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:27124:22 in tryCatch
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:27294:31 in invoke
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:27124:22 in tryCatch
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:27196:29 in invoke
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:27226:18 in
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:31984:8 in tryCallTwo
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:32148:24 in doResolve
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:32007:13 in Promise
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:27225:32 in callInvokeWithMethodAndArg
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:27230:156 in enqueue
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:27245:68 in
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:136821:41 in componentDidMount
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:21280:46 in commitLifeCycles
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:23316:28 in commitLayoutEffects
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:9898:20 in invokeGuardedCallbackProd
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:10002:41 in invokeGuardedCallback
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:23098:35 in commitRootImpl
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:56909:29 in unstable_runWithPriority
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:22986:23 in commitRoot
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:22530:18 in performSyncWorkOnRoot
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:13775:39 in
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:56909:29 in unstable_runWithPriority
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:13770:29 in flushSyncCallbackQueueImpl
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:13759:34 in flushSyncCallbackQueue
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:22546:34 in batchedUpdates$1
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:11337:35 in batchedUpdates
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:11429:22 in _receiveRootNodeIDEvent
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:11483:33 in receiveTouches
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:3749:35 in __callFunction
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:3477:30 in
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:3703:14 in __guard
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:3476:20 in callFunctionReturnFlushedQueue

On the multiselect dropdown, I get an error.

Error
Error: Looks like you forgot to wrap your root component with `Provider` component from `react-native-paper`.
Please read our getting-started guide and make sure you've followed all the required steps.
https://callstack.github.io/react-native-paper/getting-started.html
This error is located at:
in PortalConsumer
in Portal
in ThemedComponent (created by withTheme(Portal))
in withTheme(Portal) (created by Menu)
in RCTView (created by View)
in View (created by Menu)
in Menu
in ThemedComponent (created by withTheme(Menu))
in withTheme(Menu)
in Unknown (created by App)
in RCTSafeAreaView
in SafeAreaView (created by App)
in RCTView (created by View)
in View (created by AnimatedComponent)
in AnimatedComponent
in AnimatedComponentWrapper (created by Surface)
in Surface
in ThemedComponent (created by withTheme(Surface))
in withTheme(Surface) (created by App)
in ThemeProvider (created by App)
in ThemeProvider (created by Provider)
in RCTView (created by View)
in View (created by Portal.Host)
in Portal.Host (created by Provider)
in Provider (created by App)
in App (created by ExpoRoot)
in ExpoRoot
in RCTView (created by View)
in View (created by AppContainer)
in DevAppContainer (created by AppContainer)
in RCTView (created by View)
in View (created by AppContainer)
in AppContainer
at node_modules/react-native/Libraries/Core/ExceptionsManager.js:104:6 in reportException
at node_modules/react-native/Libraries/Core/ExceptionsManager.js:172:19 in handleException
at node_modules/react-native/Libraries/Core/ReactFiberErrorDialog.js:43:2 in showErrorDialog
Error: Looks like you forgot to wrap your root component with Provider component from react-native-paper.
Please read our getting-started guide and make sure you've followed all the required steps.
https://callstack.github.io/react-native-paper/getting-started.html
This error is located at:
in PortalConsumer
in Portal
in ThemedComponent (created by withTheme(Portal))
in withTheme(Portal) (created by Menu)
in RCTView (created by View)
in View (created by Menu)
in Menu
in ThemedComponent (created by withTheme(Menu))
in withTheme(Menu)
in Unknown (created by App)
in RCTSafeAreaView
in SafeAreaView (created by App)
in RCTView (created by View)
in View (created by AnimatedComponent)
in AnimatedComponent
in AnimatedComponentWrapper (created by Surface)
in Surface
in ThemedComponent (created by withTheme(Surface))
in withTheme(Surface) (created by App)
in ThemeProvider (created by App)
in ThemeProvider (created by Provider)
in RCTView (created by View)
in View (created by Portal.Host)
in Portal.Host (created by Provider)
in Provider (created by App)
in App (created by ExpoRoot)
in ExpoRoot
in RCTView (created by View)
in View (created by AppContainer)
in DevAppContainer (created by AppContainer)
in RCTView (created by View)
in View (created by AppContainer)
in AppContainer
at node_modules/react-native/Libraries/Core/ExceptionsManager.js:104:6 in reportException
at node_modules/react-native/Libraries/Core/ExceptionsManager.js:172:19 in handleException
at node_modules/react-native/Libraries/Core/ReactFiberErrorDialog.js:43:2 in showErrorDialog
Error: Looks like you forgot to wrap your root component with Provider component from react-native-paper.
Please read our getting-started guide and make sure you've followed all the required steps.
https://callstack.github.io/react-native-paper/getting-started.html
This error is located at:
in PortalConsumer
in Portal
in ThemedComponent (created by withTheme(Portal))
in withTheme(Portal) (created by Menu)
in RCTView (created by View)
in View (created by Menu)
in Menu
in ThemedComponent (created by withTheme(Menu))
in withTheme(Menu)
in Unknown (created by App)
in RCTSafeAreaView
in SafeAreaView (created by App)
in RCTView (created by View)
in View (created by AnimatedComponent)
in AnimatedComponent
in AnimatedComponentWrapper (created by Surface)
in Surface
in ThemedComponent (created by withTheme(Surface))
in withTheme(Surface) (created by App)
in ThemeProvider (created by App)
in ThemeProvider (created by Provider)
in RCTView (created by View)
in View (created by Portal.Host)
in Portal.Host (created by Provider)
in Provider (created by App)
in App (created by ExpoRoot)
in ExpoRoot
in RCTView (created by View)
in View (created by AppContainer)
in DevAppContainer (created by AppContainer)
in RCTView (created by View)
in View (created by AppContainer)
in AppContainer
at node_modules/react-native/Libraries/Core/ExceptionsManager.js:104:6 in reportException
at node_modules/react-native/Libraries/Core/ExceptionsManager.js:172:19 in handleException
at node_modules/react-native/Libraries/Core/ReactFiberErrorDialog.js:43:2 in showErrorDialog
Error: Looks like you forgot to wrap your root component with Provider component from react-native-paper.
Please read our getting-started guide and make sure you've followed all the required steps.
https://callstack.github.io/react-native-paper/getting-started.html
This error is located at:
in PortalConsumer
in Portal
in ThemedComponent (created by withTheme(Portal))
in withTheme(Portal) (created by Menu)
in RCTView (created by View)
in View (created by Menu)
in Menu
in ThemedComponent (created by withTheme(Menu))
in withTheme(Menu)
in Unknown (created by App)
in RCTSafeAreaView
in SafeAreaView (created by App)
in RCTView (created by View)
in View (created by AnimatedComponent)
in AnimatedComponent
in AnimatedComponentWrapper (created by Surface)
in Surface
in ThemedComponent (created by withTheme(Surface))
in withTheme(Surface) (created by App)
in ThemeProvider (created by App)
in ThemeProvider (created by Provider)
in RCTView (created by View)
in View (created by Portal.Host)
in Portal.Host (created by Provider)
in Provider (created by App)
in App (created by ExpoRoot)
in ExpoRoot
in RCTView (created by View)
in View (created by AppContainer)
in DevAppContainer (created by AppContainer)
in RCTView (created by View)
in View (created by AppContainer)
in AppContainer
at node_modules/react-native/Libraries/Core/ExceptionsManager.js:104:6 in reportException
at node_modules/react-native/Libraries/Core/ExceptionsManager.js:172:19 in handleException
at node_modules/react-native/Libraries/Core/setUpErrorHandling.js:24:6 in handleError
at node_modules/expo-error-recovery/build/ErrorRecovery.fx.js:12:21 in ErrorUtils.setGlobalHandler$argument_0
Error: Looks like you forgot to wrap your root component with Provider component from react-native-paper.
Please read our getting-started guide and make sure you've followed all the required steps.
https://callstack.github.io/react-native-paper/getting-started.html
This error is located at:
in PortalConsumer
in Portal
in ThemedComponent (created by withTheme(Portal))
in withTheme(Portal) (created by Menu)
in RCTView (created by View)
in View (created by Menu)
in Menu
in ThemedComponent (created by withTheme(Menu))
in withTheme(Menu)
in Unknown (created by App)
in RCTSafeAreaView
in SafeAreaView (created by App)
in RCTView (created by View)
in View (created by AnimatedComponent)
in AnimatedComponent
in AnimatedComponentWrapper (created by Surface)
in Surface
in ThemedComponent (created by withTheme(Surface))
in withTheme(Surface) (created by App)
in ThemeProvider (created by App)
in ThemeProvider (created by Provider)
in RCTView (created by View)
in View (created by Portal.Host)
in Portal.Host (created by Provider)
in Provider (created by App)
in App (created by ExpoRoot)
in ExpoRoot
in RCTView (created by View)
in View (created by AppContainer)
in DevAppContainer (created by AppContainer)
in RCTView (created by View)
in View (created by AppContainer)
in AppContainer
at node_modules/react-native/Libraries/Core/ExceptionsManager.js:104:6 in reportException
at node_modules/react-native/Libraries/Core/ExceptionsManager.js:172:19 in handleException
at node_modules/react-native/Libraries/Core/setUpErrorHandling.js:24:6 in handleError
at node_modules/expo-error-recovery/build/ErrorRecovery.fx.js:12:21 in ErrorUtils.setGlobalHandler$argument_0
Error: EISDIR: illegal operation on a directory, read
at Object.readSync (node:fs:723:3)
at tryReadSync (node:fs:433:20)
at Object.readFileSync (node:fs:479:19)
at UnableToResolveError.buildCodeFrameMessage (/Users/huckjulius/Projects/Test/my-app/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:347:17)
at new UnableToResolveError (/Users/huckjulius/Projects/Test/my-app/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:333:35)
at ModuleResolver.resolveDependency (/Users/huckjulius/Projects/Test/my-app/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:211:15)
at DependencyGraph.resolveDependency (/Users/huckjulius/Projects/Test/my-app/node_modules/metro/src/node-haste/DependencyGraph.js:413:43)
at /Users/huckjulius/Projects/Test/my-app/node_modules/metro/src/lib/transformHelpers.js:317:42
at /Users/huckjulius/Projects/Test/my-app/node_modules/metro/src/Server.js:1471:14
at Generator.next ()
[Unhandled promise rejection: Error: Looks like you forgot to wrap your root component with Provider component from react-native-paper.]
at https://callstack.github.io/react-native-paper/getting-started.html:null in
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:136855:25 in checkManager
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:136825:33 in componentDidMount$
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:27124:22 in tryCatch
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:27294:31 in invoke
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:27124:22 in tryCatch
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:27196:29 in invoke
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:27226:18 in
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:31984:8 in tryCallTwo
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:32148:24 in doResolve
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:32007:13 in Promise
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:27225:32 in callInvokeWithMethodAndArg
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:27230:156 in enqueue
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:27245:68 in
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:136821:41 in componentDidMount
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:21280:46 in commitLifeCycles
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:23316:28 in commitLayoutEffects
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:9898:20 in invokeGuardedCallbackProd
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:10002:41 in invokeGuardedCallback
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:23098:35 in commitRootImpl
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:56909:29 in unstable_runWithPriority
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:22986:23 in commitRoot
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:22530:18 in performSyncWorkOnRoot
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:13775:39 in
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:56909:29 in unstable_runWithPriority
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:13770:29 in flushSyncCallbackQueueImpl
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:13759:34 in flushSyncCallbackQueue
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:22546:34 in batchedUpdates$1
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:11337:35 in batchedUpdates
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:11429:22 in _receiveRootNodeIDEvent
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:11483:33 in receiveTouches
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:3749:35 in __callFunction
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:3477:30 in
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:3703:14 in __guard
at http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=ios&dev=true&hot=false&minify=false:3476:20 in callFunctionReturnFlushedQueue

Here is my test project: https://github.com/juliushuck/issue-react-native-paper-dropdown

Any update on this issue ?


Weird text alignment issues on mobile for specific components

Should be self-explanatory, but basically on smaller devices, I think the flex layout of these components makes them appear sort of centered. Let's try to keep it consistent and left-align the text on mobile as well if possible.

I'll take this one


build failure after cmake

Environment: MacOS+cdk 1.134+npm 8.1.0
while running "cdk deploy --all", it deploys infrastructure and then builds the image locally.
The build failed after the cmake statement at this line. Error message as below:
#12 572.8 [ 54%] Building C object CMakeFiles/OrthancAwsS3Storage.dir/e2fsprogs-1.44.5/lib/uuid/unparse.c.o
#12 572.8 [ 54%] Building C object CMakeFiles/OrthancAwsS3Storage.dir/orthanc/OrthancFramework/Resources/ThirdParty/md5/md5.c.o
#12 572.8 [ 54%] Building CXX object CMakeFiles/OrthancAwsS3Storage.dir/orthanc/OrthancFramework/Resources/ThirdParty/base64/base64.cpp.o
#12 573.3 [ 54%] Linking CXX shared library libOrthancAwsS3Storage.so
#12 576.2 [ 54%] Built target OrthancAwsS3Storage
#12 576.2 make: *** [Makefile:103: all] Error 2
#12 ERROR: executor failed running [/bin/bash -c CORES=`grep -c ^processor /proc/cpuinfo` && make -j$CORES]: exit code: 2
------
 > [build 8/8] RUN CORES=`grep -c ^processor /proc/cpuinfo` && make -j$CORES:
------
executor failed running [/bin/bash -c CORES=`grep -c ^processor /proc/cpuinfo` && make -j$CORES]: exit code: 2

 ❌  Orthanc-ECSStack failed: Error: Failed to publish one or more assets. See the error messages above for more information.
    at Object.publishAssets (/usr/local/lib/node_modules/aws-cdk/lib/util/asset-publishing.ts:25:11)
    at Object.deployStack (/usr/local/lib/node_modules/aws-cdk/lib/api/deploy-stack.ts:245:3)
    at CdkToolkit.deploy (/usr/local/lib/node_modules/aws-cdk/lib/cdk-toolkit.ts:194:24)
    at initCommandLine (/usr/local/lib/node_modules/aws-cdk/bin/cdk.ts:267:9)
Failed to publish one or more assets. See the error messages above for more information.

Any suggestions?

Hi! Is that an M1 Mac by any chance?

My Mac is Intel core. I tried again today and it is working this time. It might have been that I didn't have docker running while doing cdk deploy the other day. In that case the builder was probably attempting to build from my MacOS where /proc/cpuinfo file doesn't exist.

That seems a bit odd. It shouldn't even start the docker build if you don't have Docker running. I've read on Orthanc discussions that sometimes a slow network connection can cause temporary build failures. I'm glad you got it resolved at the end!


Seek?

The fileReader and fileWriter need some additional positional control. Possibly this applies to all readers and writers, but at the very least it should be possible to skip or rewind the fileReader, and likewise do some positional writing.

Removed fileReader and fileWriter.


TypeScript checker error: Interface 'AnchorProps' incorrectly extends interface 'Omit<AnchorHTMLAttributes, "state">'

Describe the bug
node_modules/@solidjs/router/dist/components.d.ts:47:18 - error TS2430: Interface 'AnchorProps' incorrectly extends interface 'Omit<AnchorHTMLAttributes<HTMLAnchorElement>, "state">'.
  Types of property 'replace' are incompatible.
    Type 'boolean | undefined' is not assignable to type 'boolean'.
      Type 'undefined' is not assignable to type 'boolean'.

47 export interface AnchorProps extends Omit<JSX.AnchorHTMLAttributes<HTMLAnchorElement>, "state"> {
                    ~~~~~~~~~~~

Found 1 error in node_modules/@solidjs/router/dist/components.d.ts:47

Your Example Website or App
https://github.com/xxxhussein/solidjs-reprod
Steps to Reproduce the Bug or Issue
install @solidjs/router
run tsc without skipLibCheck: true
Expected behavior
for the error to not occur
Screenshots or Videos
No response
Platform

OS: [e.g. macOS, Windows, Linux]
Browser: [e.g. Chrome, Safari, Firefox]
Version: [e.g. 91.1]
OS: Windows 10
Browser: Brave
Version: 1.58.135

Additional context
No response

I've tried but couldn't reproduce the issue. Everything seems working normally.

reproduction seems to be gone now as well. Closing.


Improve the readme with a pre-flight check section

I think might be worth documenting towr health  in the readme as pre-flight check
In addition, we might want to remove the references to staging-tower.xyz

Closed by #103


Use seed-services-client for API requests

Instead of hardcoding URLs in this repo, use the API client.
This depends on an as-yet unreleased version of the client. The tests should pass once https://github.com/praekeltfoundation/seed-services-client/pull/39 is merged and released.

The test test_create_outbound_data_new_identity fails with this code change in Python 3 because:

AttributeError: 'str' object has no attribute 'decode'


Every argument is required

All method's arguments are required when in GDScript or C# this method would have optional arguments.
Aka: isActionJustPressed bound as bool isActionJustPressed(in StringName action, in bool exact_match) const when it should be bound as bool isActionJustPressed(in StringName action, in bool exact_match = false) const

Possibly fixed in 1f34cf4, but needs more testing

Causes #29, not fixed

Fixed in 0626d5b


Prepare CRS v4 release poster

We want to repeat the feat of CRS3 with its release post (see coreruleset.org).
We are working with the inhouse graphical artist of OWASP on this.
Initial contact has been made, motive has been discussed during dev retreat.
Issue will be updated with status messages.

We ditched the idea of coming up with a poster for v4. Closing.


Method MandateClearedFromBillable::handle() does not exist

I got an error when call the webhook from mollie.
I think this error from the new version.
ReflectionException: Method Laravel\Cashier\Events\MandateClearedFromBillable::handle() does not exist in file /home/mollie/public_html/vendor/laravel/framework/src/Illuminate/Container/BoundMethod.php on line 144

Update: I back to v1.1.0 and everything working ok.

Thanks! Found it. Working on a patch.

Hi @meesudzu ,
I've just released v1.6.0 which includes a patch to fix this.

Hi @meesudzu ,
I've just released v1.6.0 which includes a patch to fix this.

thanks for hard working.


Added pre-emption capabilities to drivers

There is now the ability to pre-empt on mounts through the CLI
as well as directly through HTTP/JSON API.  In the case of CLI,
this in invoked through force with attach/detach and preempt with
mount.  Additionally, pre-emption can be enabled globally through
the volume.mountpreempt configuration flag.

@akutz I just updated this PR based on our conversation

Hi @clintonskitson,
I'm reviewing it now.


Include ignore_above in string keyword mapping inference

This aligns with the default inferred mapping for a string in Elasticsearch 5.0
Closes #2329

picked to master e96f3d8 as well


Failed to addDeviceToAccessory

Hi - I stumbled across your project today, and though I'd give it a go -- as the other homebridge plugin for EchonetLite i was trying seems to be a bit unstable, and impact performance of homebridge.
I installed it manually in the Homebridge terminal using the npm command and restarted. And am seeing ...
[HeaterCooler] Failed to addDeviceToAccessory - address: <IP_ADDRESS>
[HeaterCooler] Failed to addDeviceToAccessory - address: <IP_ADDRESS>
... in the logs, and the IPs corresponds to my two Mitsubishi Heatpumps that i've enabled the Echonet protocol for.
Is there anything I can do to support the project, and help get these devices recognised in Homebridge?
Are there some debug logs/etc that would be useful to diagnose this?

Sorry - i wasn't logged in when starting the bug report, so this reporting template didn't show up:
Describe The Bug:
Mitsubishi Heatpump AirConditioners (with Wifi Adapter) not being discovered.
To Reproduce:
Installed plugin, restarted Homebridge.
Expected behavior:
Was hoping the Aircon units would show up under Homebridge Accessories list.
Logs:
[2/25/2022, 10:15:19 PM] [HB Supervisor] Starting Homebridge with extra flags: -I -P /homebridge/node_modules
[2/25/2022, 10:15:19 PM] [HB Supervisor] Started Homebridge v1.4.0 with PID: 2406
[2/25/2022, 10:15:20 PM] Loaded config.json with 0 accessories and 6 platforms.
[2/25/2022, 10:15:20 PM] Loaded 9 cached accessories from cachedAccessories.
[2/25/2022, 10:15:20 PM] ---
[2/25/2022, 10:15:21 PM] Disabled plugin<EMAIL_ADDRESS>[2/25/2022, 10:15:21 PM] ---
[2/25/2022, 10:15:21 PM] Loaded plugin<EMAIL_ADDRESS>[2/25/2022, 10:15:21 PM] Registering platform 'homebridge-mitsubishi-au-nz.MitsubishiAirconAUNZ'
[2/25/2022, 10:15:21 PM] ---
[2/25/2022, 10:15:22 PM] Loaded plugin<EMAIL_ADDRESS>[2/25/2022, 10:15:22 PM] Registering platform 'homebridge-ring.Ring'
[2/25/2022, 10:15:22 PM] ---
[2/25/2022, 10:15:22 PM] Loaded plugin<EMAIL_ADDRESS>[2/25/2022, 10:15:22 PM] Registering platform 'homebridge-shelly.Shelly'
[2/25/2022, 10:15:22 PM] ---
[2/25/2022, 10:15:22 PM] Loaded plugin<EMAIL_ADDRESS>[2/25/2022, 10:15:22 PM] Registering platform 'homebridge-config-ui-x.config'
[2/25/2022, 10:15:22 PM] ---
[2/25/2022, 10:15:23 PM] Loaded plugin<EMAIL_ADDRESS>[2/25/2022, 10:15:23 PM] Registering platform 'homebridge-echonet-lite-heater-cooler.EchonetLiteHeaterCooler'
[2/25/2022, 10:15:23 PM] ---
[2/25/2022, 10:15:23 PM] Loading 6 platforms...
[2/25/2022, 10:15:23 PM] [Config] Initializing config platform...
[2/25/2022, 10:15:23 PM] [Config] Running in Service Mode
[2/25/2022, 10:15:23 PM] [Shelly] Initializing Shelly platform...
[2/25/2022, 10:15:23 PM] [Ring] Initializing Ring platform...
[2/25/2022, 10:15:23 PM] [MitsubishiAirconAUNZ] Initializing MitsubishiAirconAUNZ platform...
[2/25/2022, 10:15:23 PM] [MitsubishiAirconAUNZ] Failed to read settings: Error: ENOENT: no such file or directory, open '/homebridge/persist/MitsubishiAirconAUNZ.json'
[2/25/2022, 10:15:23 PM] Ignoring config for the platform "EoliaPlatform" in your config.json as the plugin "homebridge-echonet-lite-eolia" has been disabled.
[2/25/2022, 10:15:23 PM] [HeaterCooler] Initializing EchonetLiteHeaterCooler platform...
[2/25/2022, 10:15:23 PM] [Ring] Configuring cached accessory xxx-xx-xx-xxx-xxx Front Door
[2/25/2022, 10:15:23 PM] [Ring] Configuring cached accessory xxx-xx-xxx-xxx-xxx Auckland Mode
[2/25/2022, 10:15:23 PM] [Shelly] 4 accessories loaded from cache
Setup Payload:
X-HM://XXXXXXX
Enter this code with your HomeKit app on your iOS device to pair with Homebridge:

    ┌────────────┐
    │ 111-22-333 │
    └────────────┘

[2/25/2022, 10:15:23 PM] [HeaterCooler] Waiting for 10 seconds to start discovering ECHONET Lite devices...
[2/25/2022, 10:15:23 PM] Homebridge v1.4.0 (HAP v0.10.0) (Homebridge 1BFC) is running on port 51324.
[2/25/2022, 10:15:23 PM] [Shelly] Admin server is running on port 8181
[2/25/2022, 10:15:24 PM] [homebridge-mitsubishi-au-nz] This plugin generated a warning from the characteristic 'Target Heater-Cooler State': characteristic value expected valid finite number and received "undefined" (undefined). See https://git.io/JtMGR for more info.
[2/25/2022, 10:15:24 PM] [homebridge-mitsubishi-au-nz] This plugin generated a warning from the characteristic 'Target Heater-Cooler State': characteristic value expected valid finite number and received "undefined" (undefined). See https://git.io/JtMGR for more info.
[2/25/2022, 10:15:26 PM] [Ring] Found the following locations:
[2/25/2022, 10:15:26 PM] [Ring]   locationId: 9dae16e9-bcbf-4ee9-7d9c-87612c5cab18 - Auckland
[2/25/2022, 10:15:27 PM] [Ring] Configuring 1 cameras and 2 devices for location "Auckland" - locationId: xxx-xx-xx-xx-xxxxx
[2/25/2022, 10:15:33 PM] [HeaterCooler] Failed to addDeviceToAccessory - address: <IP_ADDRESS>
[2/25/2022, 10:15:33 PM] [HeaterCooler] Failed to addDeviceToAccessory - address: <IP_ADDRESS>
[2/25/2022, 10:16:03 PM] [HeaterCooler] Finished discovering ECHONET Lite devices
[2/25/2022, 10:16:34 PM] [homebridge-mitsubishi-au-nz] This plugin generated a warning from the characteristic 'Target Heater-Cooler State': characteristic value expected valid finite number and received "undefined" (undefined). See https://git.io/JtMGR for more info.
[2/25/2022, 10:16:34 PM] [homebridge-mitsubishi-au-nz] This plugin generated a warning from the characteristic 'Target Heater-Cooler State': characteristic value expected valid finite number and received "undefined" (undefined). See https://git.io/JtMGR for more info.

Plugin Config:
{
    "bridge": {
        "name": "Homebridge 1BDD",
        "username": "AA:BB:CC:DD:EE:FF",
        "port": 51324,
        "pin": "111-22-333"
    },
    "accessories": [],
    "platforms": [
        {
            "name": "Config",
            "port": 8581,
            "platform": "config"
        },
        {
            "name": "Shelly",
            "admin": {
                "enabled": true
            },
            "networkInterface": "192.168.1.xx",
            "devices": [
                {
                    "id": "xxxxxXXXXX",
                    "name": "Shelly H&T",
                    "exclude": true
                },
                {
                    "id": "60AAABBB545",
                    "name": "Motion Sensor"
                }
            ],
            "platform": "Shelly"
        },
        {
            "refreshToken": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
            "hideLightGroups": true,
            "hideCameraSirenSwitch": true,
            "hideAlarmSirenSwitch": true,
            "hideUnsupportedServices": true,
            "sendDoorbellMotionNotificationsToTv": false,
            "platform": "Ring"
        },
        {
            "platform": "MitsubishiAirconAUNZ",
            "name": "MitsubishiAirconAUNZ",
            "user": "xxx",
            "pass": "xxx"
        },
        {
            "name": "Echonet Lite Eolia",
            "platform": "EoliaPlatform",
            "_bridge": {
                "username": "AA:BB:CC:DD:EE:FF",
                "port": 59702
            }
        },
        {
            "name": "HeaterCooler",
            "refreshInterval": 1,
            "requestTimeout": 10,
            "platform": "EchonetLiteHeaterCooler"
        }
    ],
    "disabledPlugins": [
        "homebridge-echonet-lite",
        "homebridge-echonet-lite-eolia"
    ]
}

Screenshots:

Environment:

Plugin Version: 0.1.0
Homebridge Version: 1.4.0
Node.js Version: v14.17.3
NPM Version: 6.14.13
Operating System: Docker on Synology NAS

Thanks Yasuharu -
Here's the script output.
I have a Mitsubishi Air Conditioning unit, connected with a MAC-568IF-E Wi-Fi interface adapter.
{
  inf: [
    { epc: '0x80', desc: 'Operation status' },
    { epc: '0x81', desc: 'Installation location' },
    { epc: '0x88', desc: 'Fault status' },
    { epc: '0x8F', desc: 'Operation power-saving' },
    { epc: '0xA0', desc: 'Air flow rate setting' },
    { epc: '0xB0', desc: 'Operation mode setting' }
  ],
  set: [
    { epc: '0x80', desc: 'Operation status' },
    { epc: '0x81', desc: 'Installation location' },
    { epc: '0x8F', desc: 'Operation power-saving' },
    { epc: '0xA0', desc: 'Air flow rate setting' },
    {
      epc: '0xA1',
      desc: 'Automatic control of air flow direction setting'
    },
    { epc: '0xA3', desc: 'Automatic swing of air flow setting' },
    { epc: '0xA4', desc: 'Air flow direction (vertical) setting' },
    { epc: '0xB0', desc: 'Operation mode setting' },
    { epc: '0xB3', desc: 'Set temperature value' }
  ],
  get: [
    { epc: '0x80', desc: 'Operation status' },
    { epc: '0x81', desc: 'Installation location' },
    { epc: '0x82', desc: 'Standard version information' },
    { epc: '0x83', desc: 'Identification number' },
    { epc: '0x86', desc: 'Manufacturer’s fault code' },
    { epc: '0x88', desc: 'Fault status' },
    { epc: '0x89', desc: 'Fault description' },
    { epc: '0x8A', desc: 'Manufacturer code' },
    { epc: '0x8F', desc: 'Operation power-saving' },
    { epc: '0x9D', desc: 'Status change announcement property map' },
    { epc: '0x9E', desc: 'Set property map' },
    { epc: '0x9F', desc: 'Get property map' },
    { epc: '0xA0', desc: 'Air flow rate setting' },
    {
      epc: '0xA1',
      desc: 'Automatic control of air flow direction setting'
    },
    { epc: '0xA3', desc: 'Automatic swing of air flow setting' },
    { epc: '0xA4', desc: 'Air flow direction (vertical) setting' },
    { epc: '0xB0', desc: 'Operation mode setting' },
    { epc: '0xB3', desc: 'Set temperature value' },
    { epc: '0xBB', desc: 'Measured value of room temperature' },
    { epc: '0xBE', desc: 'Measured outdoor air temperature' }
  ]
}

Bingo!  That seems to have done the trick.
I now have visibility of my aircon units in Homebridge and the Home app.  Thanks!
Let me know if you need any further debug information or testing done.

Grad to hear that! Thank you for your log info, it made easier to fix the issue.


Release v0.4.0 CHANGELOG.md no such file

@kunhtkun Hi, I tried to release v0.4.0, but the workflow failed, it prompts
awk: fatal: cannot open file `CHANGELOG.md' for reading: No such file or directory
Could you please take a look at the Actions? Did I miss something?
Thanks,

Sorry I missed something. This should be fixed by #40.

#40 does not change the package so it is good to rerun the failed job and create the release. However, I also notice that the version number is not correct in https://github.com/maccmu/macposts/blob/4387b3edebc061e8843f576c1f838fa89c65e154/macposts/init.py#L8
Maybe we should skip 'v0.4.0' and make a hot fix release 'v0.4.1'.

Thanks, will do


RUMM-68 add automatic tags

I don't find it that clear in this PR, so to get it right:

logger.version - does it come from our SDK version - so, let's say 1.1.0 after we release it?
application.version - does it come from customer app version - so, let's say 2.6.0 if SDK is used by version 2.6.0 of "Foo" app?

Yes exactly :)


Correction for raw affiliation UMR AMAP, INRAE, CIRAD, IRD, Montpellier, France

Correction needed for raw affiliation UMR AMAP, INRAE, CIRAD, IRD, Montpellier, France
raw_affiliation_name: UMR AMAP, INRAE, CIRAD, IRD, Montpellier, France
new_rors: 03rnk6m14;05kpkpg04;003vg9w96;05q3vnk25;020nks034
previous_rors: 03rnk6m14;05kpkpg04;003vg9w96;05q3vnk25
works_examples: W4400162279
contact: 4db59138215aa57ceed64678a55eef42:f2d85ba7f73e1b6179833c9120dca28e1705 @ inrae.fr

This issue was accepted and ingested by the OpenAlex team on 2024-11-18. The new affiliations should be visible within the next 7 days.


data-uri is relative?

var isRelativeUrl = require("is-relative-url")

isRelativeUrl('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAAHklEQVQoz2NgAIP/YMBAPBjVMNAa/pMISNcwEoMVAH0ls03D44ABAAAAAElFTkSuQmCC')
// true

https://runkit.com/embed/16r7n4khlh2f
I'd argue this should return false. Wdyt? I can make a PR.

//google.com is also considered relative. I guess this should be considered absolute.

@tommedema Considering all this package does is imports is-absolute-url, you may want to voice your changes on that package.

@teewuane //google.com is not absolute, so it's correct that is-absolute-url returns false for it. But arguably it's not what most people would think of as 'relative' either, so I agree with @tommedema that it should be fixed. (I think it's also weird that this package says that anything other than an absolute URL must be a relative URL, even non-string values.)
A URL starting with // is a protocol-relative URL. So it's technically relative, but only to the protocol, which isn't what most people think of as relative.
I imagine most people using is-relative-url want to validate that URL isn't going to take the user to an external domain.
Common example: https://mysite.com/login?redirectTo=//phishing-site.com – the owner of mysite.com probably wants to validate the redirectTo path is a local URL, and might assume is-relative-url is safe for this, but it's not.


Add the skeleton for the administrative BigQuery client.

For now, there is a single function for creating datasets.
I also updated the formatting for some files.

This change is

We should commit this org drop it. We're going to be moving this repo to -cpp soon, and this PR will be lost.

NOTICE: This repo will be merging with the googleapis/google-cloud-cpp monorepo soon; possibly as soon as early April. We expect this new monorepo organization to be better for our existing and new customers going forward. Please see googleapis/google-cloud-cpp#3612 for more details.

This code has been moved.


Does not render correctly

I have two animations from my design folks here at Qwello and both look very incorrect in the rendering of this crate vs the official renderer: https://lottiefiles.github.io/lottie-docs/playground/json_editor/. It is not only blending, but a lot of other things.
How much of the standard is supposed to be correctly implemented? I cannot share the files publicly, but I can make them available via email if that is of interest for debugging purposes.
My use case is the following: I'd like to take a Lottie file, remove all texts from it, then create PNG files for every frame, in which I can then draw text again. For this, I need to remember the draw position of each text for every frame - since they can be animated.
The reason is internationalization: I need PNG files for our asset pipeline, but we have multiple languages and would like to automate the generations.
I assume that lottie-rs is not ready to do the PNG generation, but that is fine, I can use puppeteer-lottie there. However, I hope to be able to use lottie-rs to get the information where to draw the text to. Do you think this is feasible?

Sorry but I don't think so. The lottie file format is really complex and lack of documentation (The "official" doc you referred to is from lottiefiles.com, which I think is not really official since lottie is from airbnb I think?). Even though I tried my best to mimic the behavior of the web renderer, there's always a gap. Text rendering is IMO the hardest part in the pipeline. This project can hardly be production-ready in a short time, given that I can only contribute in my part-time.
Anyway, you can still strip down the file and send it to me so I can make this project better. To strip down a lottie file, you could just keep the wanted layers and remove everything else.

By the way this crate is made to do server side rendering, and could generate png files just file. Incorrect rendering is another problem though.

Thanks for your consideration! I really appreciate you working on this project and I hope it becomes a true alternative to the web renderer eventually. For now I will try to work my problems without relying on lottiefiles.

Feel free to checkout https://github.com/vectorgameexperts/bevy-vello, which has text.

@simbleau Thank you for self-promoting this much more performance approach! Have a nive day.

@SirVer if you just want bbox for texts in every frame, skottie is the best.

@simbleau I'll have a look at it.
@zimond Let a thousand flowers bloom, right? I'll check out skottie too, thanks for the pointer!

@SirVer skottie is battle-tested and also passes almost all lottie tests. We use it in our production. This project, in the meantime, is our experimental approach to use Rust in the pipeline. Still if you want to contribute to lottie-rs, you're welcomed to send me any file that not rendered correctly.

@zimond Do you mean this skottie? https://skia.org/docs/user/modules/skottie/. I will need to use skia then too, right?

@SirVer  yes indeed


Exception: dnlib.DotNet.TypeResolveException

Upon trying to obfuscate a netstandard2.0 dll, I get the following error:
[ERROR] Failed to resolve a type, check if all dependencies are present in the correct version.
Exception: dnlib.DotNet.TypeResolveException: Could not resolve type: System.AppDomain (System.Runtime.Extensions, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a)
   at dnlib.DotNet.TypeRef.ResolveThrow(ModuleDef sourceModule)
   at dnlib.DotNet.Extensions.ResolveTypeDefThrow(ITypeDefOrRef tdr)
   at Confuser.Renamer.Analyzers.InterReferenceAnalyzer.ProcessMemberRef(ConfuserContext context, INameService service, ModuleDefMD module, IMemberRef r)
   at Confuser.Renamer.Analyzers.InterReferenceAnalyzer.Analyze(ConfuserContext context, INameService service, ProtectionParameters parameters, IDnlibDef def)
   at Confuser.Renamer.AnalyzePhase.Analyze(NameService service, ConfuserContext context, ProtectionParameters parameters, IDnlibDef def, Boolean runAnalyzer)
   at Confuser.Renamer.AnalyzePhase.Execute(ConfuserContext context, ProtectionParameters parameters)
   at Confuser.Core.ProtectionPipeline.ExecuteStage(PipelineStage stage, Action`1 func, Func`1 targets, ConfuserContext context)
   at Confuser.Core.ConfuserEngine.RunPipeline(ProtectionPipeline pipeline, ConfuserContext context)
   at Confuser.Core.ConfuserEngine.RunInternal(ConfuserParameters parameters, CancellationToken token)

Full stack trace and debug

The support for .NET Core/.NET Standard is currently very limited. You have to add the dependency assemblies of .NET Standard manually as references to your project.
See also: #40 #58 #74 #72 #106
These issues are basically about the same thing.

@mkaring
I have added the dependency for System.Runtime.Extensions.dll as shown below in the crproj file, yet the error persists:
<project outputDir="D:\Development\Test\Confused" baseDir="D:\Development\Test" xmlns="http://confuser.codeplex.com">
  <module path="Core.dll">
    <rule pattern="true" preset="maximum" inherit="false" />
  </module>
  <module path="Newtonsoft.Json.dll" external="true" />
  <module path="C:\Program Files (x86)\Microsoft Visual Studio\Shared\Packages\System.Runtime.Extensions.4.1.0\lib\net462\System.Runtime.Extensions.dll" external="true" />
</project>

Are you sure you got the correct reference to System.Runtime.Extensions ? You are referencing the one for .NET Framework 4.6.2, but you said you are compiling for .NET Standard 2.0. Also the version number does not match from what I can tell. Are your dependencies of the source project all good?

In my latter edit, I referenced the libraries contained in GAC, which are also the ones referenced by the project.
Please do note that in Visual Studio, under references, for a .NET Standard 2.0 project, it only seems to reference netstandard.dll, which has been added.
If you'd like, I'd be more than happy to provide you with the project to check yourself.

You can send it over, I'll check out what is wrong.

Here's the download link (contains both the csproj and the crporj).

Okay so there is something strange going on here.
If I build your project, it's properly referencing .NET Standard. Meaning ConfuserEx is able to obfuscate without hassle.
The assembly that was already precompiled in the zip archive references .NET Core 2.0. Thats a whole different deal. In that case you need to add the required assemblies as external references so ConfuserEx properly resolves them. In that case you need to reference the .NET core assemblies. You'll find the path to those assemblies by running dotnet --list-runtimes in your command line. That will give you lines such as:
Microsoft.NETCore.App 3.1.3 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

In that case you are going to find the assemblies you need to reference in
C:\Program Files\dotnet\shared\Microsoft.NETCore.App\3.1.3

Ah, indeed, must have gotten the file from the wrong output directory. ConfuserEx successfully processed the file at "Maximum" preset after correcting that.
Thank you very much for your help!
Before I go ahead and close this issue, do you have an approximate ETA on when .NET Core / Standard will be officially supported?

There is currently no due date. I keep working on it, but there is still quite a way to go before it's done.


[ZIPAC] [reconnectAfterError] Found error but not manage : undefined- [motion/Rez]

Need a debug

Appear only with a long list of accessories. Impossible to reproduce the bug with only 2 or 3.
Try to avoid this by changing the getOn method in case of long time for reply. > 1.3.3
Need further test before closing.

Debug since 1.4.0


syncthing: 0.11 -> 0.12

Also, keep 0.11 around (in an updated version) and make the
pkg an option to the service module.
This also updates dependencies to at least the version required by 0.12. 0.11 seems to work fine with those, too.
I didn't update relaysrv as something is weird with the build, which I think is due to my missing knowledge about go building infrastructure. Maybe @wkennington might help? However, this at least gets us 0.12 with correct dependencies and the option for people to have 0.11 around, too.

Looks good
On Sat, Nov 28, 2015, 14:25 Mention Bot<EMAIL_ADDRESS>wrote:

By analyzing the blame information on this pull request, we identified
@wkennington https://github.com/wkennington, @benley
https://github.com/benley and @matejc https://github.com/matejc to be
potential reviewers
—
Reply to this email directly or view it on GitHub
https://github.com/NixOS/nixpkgs/pull/11329#issuecomment-160330506.

Thank you very much for this @ctheune!

Why do we need to keep 0.11?

@jagajaga because there are people who might still be using it, and for one reason or another can't yet switch to 0.12. Usage data seems to suggest that 0.12 is being adopted quickly, but as you can see there are still plenty of 0.11 installations around.

@devhell maybe we need to force them to switch? Supporting old and unmaintained versions in not really a good thing even people are using it. Why do developers create new versions - because they fix something in old versions. I'm a developer myself and if I create new version of my product I would like my users to switch to it, because I don't wont questions about something old. Maybe I'm too straight but that's my POV that we need to follow upstream if there are no additional information about versions.

@jagajaga the fact that the new syncthing is 0.12 actually makes people switch. Also 0.11 doesn't seem to bring any maintenance problem.

@jagajaga This discussion already has taken place here. The decision has already been made I'd say, and @ctheune has put in a lot of work to allow for both versions to exist.

Built locally both 0.12 and 0.11, let's end this story. Thanks.

When will this get merged in stable? I still can't use Syncthing on NixOS with my other nodes.
cc @edolstra @domenkozar

@davidak open a PR to release-15.09 and cc me


Do not try to codesign during plugin_test_ios

This test can be run hostonly, but only if flutter build ios doesn't try to codesign the app since provisioning profiles are not set up.
https://github.com/flutter/flutter/issues/88794

test-exempt: is a test


Fix #1691: Make asUnit(v) accept v === null.

Review by @nicolasstucki

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/1791/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/2325/
Test FAILed.

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/1794/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/2328/
Test FAILed.

Refer to this link for build results (access rights to CI server needed):
https://scala-webapps.epfl.ch/jenkins/job/scalajs-pr/1795/
https://scala-webapps.epfl.ch/jenkins/job/scalajs-matrix-build/2329/
Test PASSed.

LGTM


Add ktlint_ignore_string option

Description
Add ktlint_ignore_string option to max-line-length.
Allow ignoring strings length when checking max line length.
Checklist

[x] tests are added
[ ] CHANGELOG.md is updated

@mideuger Do you plan to work on this? If so, please merge master first in your local branch.

@paul-dingemans Sure. Let me know if there is something else I should do.
I also wonder, what is your opinion on the totalLengthStringElements function as it does not perfectly mimick totalLengthBacktickedElements ? I'm not sure if something like elements.filter { it.isPartOfString() }.sumBy { it.textLength } would be better.

@paul-dingemans Sure. Let me know if there is something else I should do.
I also wonder, what is your opinion on the totalLengthStringElements function as it does not perfectly mimick totalLengthBacktickedElements ? I'm not sure if something like elements.filter { it.isPartOfString() }.sumBy { it.textLength } would be better.

To be honest, it is quite hard to say what is best. Best thing what you can do is write unit tests which proof that the current solutions has drawbacks. After all, it only has effect in case the last element on the line is a string. So I guess that a line containing a long string followed by an end of line comment will not be properly detected. Next thing would be trying out your alternative solution. Also try to write tests for that solution and see if you can break it.

Just added a test showing that strings are ignored only when they are the last token on the line.
How would you like me to publish the other implementation and the corresponding tests ? Should I just open a new PR ?
Currently I have not much idea about what should be tested with the other implementation (except showing the difference with the actual implementation, ie. all strings would be ignored, everywhere).

I am getting more and more doubts about the functionality of ignoring the content of strings for the maxline length rule. See examples and reasoning below:
// Suppose that max line length ends at the hashtag sign #

fun fooBar(
    // Next statement is longer than max line length. It
    // can, but should not be wrapped on multiple lines.
    // So this line should be allowed to exceed the max
    // line length.
    // End of line at hashtag                            #
    `baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar` : String
    /* Do not force this to wrap as follows:
    `baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar`
        : String
     */
) {
    // Next statement is longer than max line length. It
    // can not be wrapped on multiple lines as. If a
    // linebreak would be added after the var keyword,
    // there would still be some additional indentation
    // be required.
    // So this line should be allowed to exceed the max
    // End of line at hashtag                            #
    var `foooooooooooooooooooooooooooooooooooooooooooooooo` = "fooooooo"

    // Next statement is longer than max line length. It
    // can be wrapped on multiple lines. So this line
    // should not be allowed to exceed the max line
    // length.
    // End of line at hashtag                            #
    `foooooooooooooooooooooooooooooooooooooooooooooooo` = "fooooooo"
    /* It should be changed manually to:
    `foooooooooooooooooooooooooooooooooooooooooooooooo` =
        "fooooooo"
     */

    // Next statement is longer than max line length. It
    // can be wrapped on multiple lines. So this line
    // should not be allowed to exceed the max line
    // length.
    // End of line at hashtag                            #
    var foo1 = "fooooooooooooooooooooooooooooooooooooooooooooooo"
    /* It should be changed manually to:
    var foo1 =
        "fooooooooooooooooooooooooooooooooooooooooooooooo"

     */

    // Next statement is longer than max line length. It
    // can (technically, but it feels artificial) be
    // wrapped on multiple lines. So this line should
    // not be allowed to exceed the max line length.
    // End of line at hashtag                            #
    var foo2 = "fooooooooooooooooooooooooooooooooooooooooooooooooooooooo"
    /* It should be changed manually to below (note that
    strings starting at position 0 are ignored by indent
    rule):
    var foo2 =
"fooooooooooooooooooooooooooooooooooooooooooooooooooooooo"
     */

    // Next statement is longer than max line length. It
    // can (technically, but it feels artificial) be
    // wrapped on multiple lines. So this line should
    // not be allowed to exceed the max line length.
    // End of line at hashtag                            #
    var foo3 = "fooooooooooooooooooooooooooooooooooooooooooooooooooooooooo"
    /* It should be changed manually to below (note that
    strings starting at position 0 are ignored by indent
    rule):
    var foo3 =
"""
fooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
""".trimIndent()
     */

    // Next statement is longer than max line length. It
    // can not be wrapped on multiple lines as the length
    // of the string content is longer than the max line
    // length. So this line should be allowed to exceed
    // the max line length.
    // End of line at hashtag                            #
    var foo4 = "foooooooooooooooooooooooooooooooooooooooooooooooooooooooooo"

    // Next statement (including the EOL comment) is
    // longer than max line length. It can and should be
    // rewritten by moving the comment to a separate line.
    // So this line should not be allowed to exceed the
    // max line length.
    // End of line at hashtag                            #
    var foo5 = "foooooooooooooooooooooooooooooooooooooooo" // Bar
}

I can not (yet) figure out how to express the conditions in which the rule should ignore the content of long strings when deciding whether a violations should or should not be ignored. This means that we also can not explain it to our users, and as of that will result in future bug reports and modifications. So I think we just need to clarify those conditions first.
The use case for the backticked identifiers was originally to support unit tests with long test names between backticks:
@Test
fun `Given that we have a test description that is longer than the max line length, then do not report a violation`() {
    // ....
}

For communication purposes, it might be better if we apply this exception to function name identifiers only.

Hi @mideuger,
Do you want to proceed with this PR, or do you agree that we seem to be stuck?

Hi @paul-dingemans , this is indeed more tricky than I first thought. I agree that we can close this PR until we find a proper solution.


fix: do not hardcode Net::SSH auth_methods

Hardcoding the Net::SSH auth_methods option to ["publickey"] prevents alternative authentication methods such as solutions like Tailscale which obviate the need to store and share private keys. The default auth_methods are “publickey”, “hostbased”, “password”, and “keyboard-interactive”—and they are tried in that order. Which means this change will still attempt to use the "publickey" method first and will not break backwards compatibility.

Thanks for this @gf3!
There's a couple of test failures - would you be able to fix those up? 🙏
2023-09-06T07:58:27.0468706Z Failure:
2023-09-06T07:58:27.0469031Z ConfigurationTest#test_to_h [/home/runner/work/kamal/kamal/test/configuration_test.rb:268]:
2023-09-06T07:58:27.0469598Z --- expected
2023-09-06T07:58:27.0469875Z +++ actual
2023-09-06T07:58:27.0470669Z @@ -1 +1 @@
2023-09-06T07:58:27.0472338Z -{:roles=>["web"], :hosts=>["<IP_ADDRESS>", "<IP_ADDRESS>"], :primary_host=>"<IP_ADDRESS>", :version=>"missing", :repository=>"dhh/app", :absolute_image=>"dhh/app:missing", :service_with_version=>"app-missing", :env_args=>["-e", "REDIS_URL=\"redis://x/y\""], :ssh_options=>{:user=>"root", :auth_methods=>["publickey"], :log_level=>:fatal, :keepalive=>true, :keepalive_interval=>30}, :sshkit=>{}, :volume_args=>["--volume", "/local/path:/container/path"], :builder=>{}, :logging=>["--log-opt", "max-size=\"10m\""], :healthcheck=>{"path"=>"/up", "port"=>3000, "max_attempts"=>7}}
2023-09-06T07:58:27.0474431Z +{:roles=>["web"], :hosts=>["<IP_ADDRESS>", "<IP_ADDRESS>"], :primary_host=>"<IP_ADDRESS>", :version=>"missing", :repository=>"dhh/app", :absolute_image=>"dhh/app:missing", :service_with_version=>"app-missing", :env_args=>["-e", "REDIS_URL=\"redis://x/y\""], :volume_args=>["--volume", "/local/path:/container/path"], :ssh_options=>{:user=>"root", :keepalive=>true, :keepalive_interval=>30, :log_level=>:fatal}, :sshkit=>{}, :builder=>{}, :logging=>["--log-opt", "max-size=\"10m\""], :healthcheck=>{"path"=>"/up", "port"=>3000, "max_attempts"=>7}}
2023-09-06T07:58:27.0475165Z
2023-09-06T07:58:27.0475763Z
2023-09-06T07:58:27.0476147Z bin/test home/runner/work/kamal/kamal/test/configuration_test.rb:251

2023-09-06T08:00:10.5299217Z Failure:
2023-09-06T08:00:10.5299534Z MainTest#test_config [/home/runner/work/kamal/kamal/test/integration/main_test.rb:54]:
2023-09-06T08:00:10.5299943Z --- expected
2023-09-06T08:00:10.5300308Z +++ actual
2023-09-06T08:00:10.5300523Z @@ -1 +1 @@
2023-09-06T08:00:10.5300966Z -{:user=>"root", :auth_methods=>["publickey"], :keepalive=>true, :keepalive_interval=>30, :log_level=>:fatal}
2023-09-06T08:00:10.5301377Z +{:user=>"root", :keepalive=>true, :keepalive_interval=>30, :log_level=>:fatal}
2023-09-06T08:00:10.5301584Z
2023-09-06T08:00:10.5301591Z
2023-09-06T08:00:10.5301758Z bin/test home/runner/work/kamal/kamal/test/integration/main_test.rb:41

@djmb updated!


New Rule: component-member-ordering

Enforce ordering methods by lifecycle.
Consider something like this: https://github.com/airbnb/javascript/tree/master/react#ordering

Any news about this issue ?

Should be supported by typescript-eslint + https://github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/sort-comp.md


Depositor unable to edit work in "changes required" workflow state

Descriptive summary
Tested branch: Hyrax 1-0-Stable branch
As the depositor, when a work is in the changes_required state, I can tweak binaries but I can't edit metadata.
Rationale
When a work is returned with "changes required", the depositor is unable to make requested changes, as there is no edit option on the work. There is an option next to the file listing to edit attached files.
Expected behavior
A depositor needs to be fully able to edit their work when in "changes_required" state.
Actual behavior
Only a manager has the ability to fully edit the work. The depositor can view their public works, but cannot even see their private works. The depositor has no edit option.
Spreadsheet of permissions and testing results on both Stable and Master branches.
Steps to reproduce the behavior
The gist shows the steps taken, and the highlighted line shows the point where this issue was reached.

Related work
https://github.com/projecthydra-labs/hyrax/issues/882

Is this a duplicate of #857

Possibly... that one seems to contain several issues. I made this one to document the one specific missing feature so it didn't get lost, because it's going to be a complicated one.

Marking this as a blocker for 1.0.0 since the original ticket this replaced was identified that way.

In the master branch, It appears that if the reviewer also has "viewing" in the permission template for the admin set, then they can see the private works in order to be able to review them.  So there have been some changes which could potentially be ported to the stable branch in order to make this feature work.

Backport here: https://github.com/projecthydra-labs/hyrax/pull/957


Feature/drawer examples

Changes proposed in this Pull Request:

Add Drawer example page

Can we do something about both link color and :visited link color here?

Similar observation regarding link css. Other changes looks fine 👍

The links have been updated now, I've made them blue[500] all the time.

Are we using https://github.com/brightlayer-ui/angular-component-library/pull/459/files#diff-1c5309a73d218c7f277cf0de3393df6a2fcbe99946709108b7b4ffe65dbf1406 (topology.png) file in this PR? Or it is going to use in future PR.

That topology file will be used at some point, probably in the sandbox.

That topology file will be used at some point, probably in the sandbox.

Ok 👍 . As per design we need below image.

https://www.figma.com/file/ZwJ3feoFnLiV3JNYqI7A3c/Brightlayer-UI-Component-Sticker-Sheet?node-id=4391%3A163


JSONPath and JSONata

Hi,
Thank you for your hard work, this plugin works pretty well now.
But I found something does not work well in query with a variable in both JSONpath and JSONata
Here is my problem:

Using JSONPath:

$.DevInfo[<EMAIL_ADDRESS>=~ /.*Test/ )] --> not work with regex /.*Test/

Using JSONata

$.DevInfo[?(@.Date=="$Date")].Projects[*].ProjectName --> work well
DevInfo[Date=$Date)].Projects.ProjectName --> not work
Hope you could help me. Thank you in advance.

I've also seen oddities with the JSONPath implimentation, two I've run into:

If root JSON object starts with [, filters don't work as expected
the in filter doesn't seem to be working

For the later, here's an example:
object:
{
   "store" : {
      "book" : [
         {
            "category" : "reference",
            "author" : "Nigel Rees",
            "title" : "Sayings of the Century",
            "price" : 8.95
         },
         {
            "category" : "fiction",
            "author" : "Evelyn Waugh",
            "title" : "Sword of Honour",
            "price" : 12.99
         },
         {
            "category" : "fiction",
            "author" : "Herman Melville",
            "title" : "Moby Dick",
            "isbn" : "0-553-21311-3",
            "price" : 8.99
         },
         {
            "category" : "fiction",
            "author" : "J. R. R. Tolkien",
            "title" : "The Lord of the Rings",
            "isbn" : "0-395-19395-8",
            "price" : 22.99
         }
      ],
      "bicycle" : {
         "color" : "red",
         "price" : 19.95
      }
   },
   "expensive" : 10
}

JSONPath:
<EMAIL_ADDRESS>in ['fiction', 'non-fiction'])].author

Expected result:
[
   "Evelyn Waugh",
   "Herman Melville",
   "J. R. R. Tolkien"
]

@u2mejc  For your query, the following works for me:
store.book[category in ['fiction', 'non-fiction']].author

For me this does not work. is there a fix for this issue

hi, various problem reports got mixed up here, we got no feedback from the original author of the issue, so we'll close this issue. if you think your problem was not answered, please:

if you think you found a bug in how the json-plugin handles your jsonata/jsonpath scenario, please open a new issue.
if your problem is more about how to achieve something with jsonata/jsonpath, i recommend asking on the community forums at https://community.grafana.com/

thanks!


Users thought they could select multiple options in a radio button list, and selected the option not to receive any alerts when they wanted to get an email confirmation.

Impact: Those who wanted confirmation would not receive it. This is likely to driving up information requests to the local authority.
Evidence: Several users were observed selecting this option, believing they were opting out of additional communication whilst still getting notifications.


Handle Azure Storage Authentication Exception

When the AIS Receiver was running for over 7 days a fatal exception occurred while attempting to write a batch of messages to blob storage:
Unhandled Exception: Microsoft.Azure.Storage.StorageException: Server failed to authenticate the request. Make sure the value of Authorization header is formed correctly including the signature.
at Microsoft.Azure.Storage.Core.Executor.Executor.ExecuteAsync[T](RESTCommand 1 cmd, IRetryPolicy policy, OperationContext operationContext, CancellationToken token)
at Microsoft.Azure.Storage.Core.Executor.Executor.<>cDisplayClass0_0 1.<ExecuteSync>b0()
at Microsoft.Azure.Storage.Core.Uti1.CommonUti1ity.RunWithoutSynchronizationContext[T](Func'1 actionToRun) at Microsoft.Azure.Storage.Core.Executor.Executor.ExecuteSync[T](RESTCommand 1 cmd, IRetryPolicy policy, OperationCon text operationContext)
at Endjin.Ais.Receiver.Program.GetAppendBlob() in C:\_Proj ects\OSS\Endjin.Ais.Receiver\Endjin.Ais.Receiver\Program.cs :line 98
at Endiin.Ais.Receiyer.Program.OnMessageReceived(lList 1 messages) in C:\Endjin.Ais.Receiver\Program.cs:line 83
at System.Reactive.AnonymousSafeObserver 1.OnNext(T value) in D:\a\l\s\Rx.NET\Source\src\System.Reactive\AnonymousSafeObserver.csrline 44
at System.Reactive.Subjects.Subject 1.OnNext(T value) in D:\a\l\s\Rx.NET\Source\src\System.Reactive\Subjects\Subject.cs:line 148
at Endjin.Ais.Receiver.NmeaReceiver.RecieveAsync() in C:\Endjin.Ais.Receiver\NmeaReceiver.csrline 59
at Endjin.Ais.Receiver.Program.LongRunningOperationAsync() in C:\Endjin.Ais.Receiver\Program.cs:1ine 74
at Endjin.Ais.Receiyer.Program.LonqRunningOperationWithCancel1ationTokenAsync(Cancel1ationToken cancel1ationToken) in C:\Endjin.Ais.Receiver\Program.cs:1ine 61
at Enajin.Ais.Receiver.Program.Main(String[] args) in C:\Endjin.Ais.Receiver\Progra m.cs:line 33
at Endjin.Ais.Receiver.Program.<Main>(String[] args)

See also:
Unhandled Exception: Microsoft.Azure.Storage.StorageException: The SSL connection could not be established, see inner exception. ---> System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception. ---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure.
   at System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, ExceptionDispatchInfo exception)
   at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.CheckCompletionBeforeNextReceive(ProtocolToken message, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartSendBlob(Byte[] incoming, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)
   at System.Net.Security.SslState.PartialFrameCallback(AsyncProtocolRequest asyncRequest)
--- End of stack trace from previous location where exception was thrown ---
   at System.Net.Security.SslState.ThrowIfExceptional()
   at System.Net.Security.SslState.InternalEndProcessAuthentication(LazyAsyncResult lazyResult)
   at System.Net.Security.SslState.EndProcessAuthentication(IAsyncResult result)
   at System.Net.Security.SslStream.EndAuthenticateAsClient(IAsyncResult asyncResult)
   at System.Net.Security.SslStream.<>c.<AuthenticateAsClientAsync>b__47_1(IAsyncResult iar)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location where exception was thrown ---
   at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)
   --- End of inner exception stack trace ---
   at System.Net.Http.ConnectHelper.EstablishSslConnectionAsyncCore(Stream stream, SslClientAuthenticationOptions sslOptions, CancellationToken cancellationToken)
   at System.Threading.Tasks.ValueTask`1.get_Result()
   at System.Net.Http.HttpConnectionPool.CreateConnectionAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Threading.Tasks.ValueTask`1.get_Result()
   at System.Net.Http.HttpConnectionPool.WaitForCreatedConnectionAsync(ValueTask`1 creationTask)
   at System.Threading.Tasks.ValueTask`1.get_Result()
   at System.Net.Http.HttpConnectionPool.SendWithRetryAsync(HttpRequestMessage request, Boolean doRequestAuth, CancellationToken cancellationToken)
   at System.Net.Http.RedirectHandler.SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
   at System.Net.Http.HttpClient.FinishSendAsyncUnbuffered(Task`1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts)
   at Microsoft.Azure.Storage.Core.Executor.Executor.ExecuteAsync[T](RESTCommand`1 cmd, IRetryPolicy policy, OperationContext operationContext, CancellationToken token)
   --- End of inner exception stack trace ---
   at Microsoft.Azure.Storage.Core.Executor.Executor.ExecuteAsync[T](RESTCommand`1 cmd, IRetryPolicy policy, OperationContext operationContext, CancellationToken token)
   at Microsoft.Azure.Storage.Core.Executor.Executor.<>c__DisplayClass0_0`1.<ExecuteSync>b__0()
   at Microsoft.Azure.Storage.Core.Util.CommonUtility.RunWithoutSynchronizationContext[T](Func`1 actionToRun)
   at Microsoft.Azure.Storage.Core.Executor.Executor.ExecuteSync[T](RESTCommand`1 cmd, IRetryPolicy policy, OperationContext operationContext)
   at Microsoft.Azure.Storage.Blob.CloudBlobContainer.Create(BlobContainerPublicAccessType accessType, BlobRequestOptions requestOptions, OperationContext operationContext)
   at Microsoft.Azure.Storage.Blob.CloudBlobContainer.CreateIfNotExists(BlobContainerPublicAccessType accessType, BlobRequestOptions requestOptions, OperationContext operationContext)
   at Endjin.Ais.Receiver.StorageClient.InitialiseConnection() in C:\Ais.Net.Receiver\Solutions\Ais.Net.Receiver\StorageClient.cs:line 52
   at Endjin.Ais.Receiver.StorageClient.AppendMessages(IList`1 messages) in C:\Ais.Net.Receiver\Solutions\Ais.Net.Receiver\StorageClient.cs:line 39
   at System.Reactive.AnonymousSafeObserver`1.OnNext(T value) in D:\a\1\s\Rx.NET\Source\src\System.Reactive\AnonymousSafeObserver.cs:line 44
   at System.Reactive.Subjects.Subject`1.OnNext(T value) in D:\a\1\s\Rx.NET\Source\src\System.Reactive\Subjects\Subject.cs:line 148
   at Endjin.Ais.Receiver.NmeaReceiver.RecieveAsync() in C:\Ais.Net.Receiver\Solutions\Ais.Net.Receiver\NmeaReceiver.cs:line 62
   at Endjin.Ais.Receiver.Program.Main(String[] args) in C:\Ais.Net.Receiver\Solutions\Ais.Net.Receiver\Program.cs:line 31
   at Endjin.Ais.Receiver.Program.<Main>(String[] args)


Quantify drought in background

Something to consider for all reporting.
can get actual weather data here
weathercan
Things to consider:
Precip and temp vs historic norms.
Precip as rain vs snow vs historic norms
hydrology - fieldwork year vs historic norms
quick search has defining drought classes here.  Need to do more research (this is just 1 minutes worth)
https://www2.gov.bc.ca/gov/content/environment/air-land-water/water/drought-flooding-dikes-dams/drought-information
https://www.obwb.ca/newsite/wp-content/uploads/drought-classification-handout_FINAL.pdf

https://www.getinvolvednechako.ca/wp-content/uploads/2023/10/Drought-QA43.pdf


Unbookmarking logic for bookmarks removal event

fixes #142

is this both for deletion via the browser bookmarks and our "faving" in the overview?

No, this is only for what's mentioned in #142, however the majority of this code should be reusable for unbookmarking from the overview (as per what's discussed in #26) when that is gotten around to.

ok, this means, when merged, @mukeshkharita can use it to hook it into the overview?

Sure. It will be a bit more difficult than just calling it from the overview though, as it will require cross-script communication since this bookmark removal logic lives background script, but best to talk more about in #26. Big hint is to just look at how the page delete button currently works in overview


how to install on mac

There are prebuild binaries available at the release page under assets: https://github.com/kadena-io/kda-tool/releases

thanks @rsoeldner


Unresolved reference: type after migrate to kotlin version 1.7.20

After migrate kotlin from 1.7.10 to 1.7.20
I got this error for all apollo generated file
Gradle build failed but I can open ConsentInput and ConsentNameEnumType class in generated file under my libraries package
Screen shot here
https://drive.google.com/file/d/1hCEtASLiZ_6JEG32GeLBR16do-Yboc95/view?usp=sharing

Can you try with latest version? Kotlin 1.7.20 needed some changes in how we connect the generated sources to the compileKotlin tasks

@juckrit Anything else we can help with?

use apollo 3.6.2 instead so problem solved


Install monitor agent for VM

这个 PR 实现什么功能/修复什么问题:

feat(docker): inject playbook and telegraf installation packages

feat(ansibleserver): add reference and instance

feat(cloudcommon): set TaskNotifyUrl in GetTaskRequestHeader

feat(devtool): add script

[x] 功能、bugfix描述

[x] 冒烟测试

是否需要 backport 到之前的 release 分支:

release/3.7

/area devtool ansibleserver
/cc @swordqiu @zexi @yousong

Codecov Report

Merging #9824 (5c7588f) into master (1e6f611) will increase coverage by 2.07%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #9824       +/-   ##
==========================================
+ Coverage    5.98%   8.06%    +2.07%
==========================================
  Files         848     107      -741
  Lines      131712   12978   -118734
==========================================
- Hits         7888    1047     -6841
+ Misses     123123   11811   -111312
+ Partials      701     120      -581

Flag
Coverage Δ

aFlag
8.06% <ø> (+2.07%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/compute/models/groupguests.go

pkg/mcclient/options/k8s/repo.go

pkg/hostman/hostinfo/hostinfohelper.go

pkg/mcclient/options/servicecertificates.go

pkg/multicloud/aws/network.go

pkg/util/rbacutils/ipmatch.go

pkg/compute/models/scheduledtask_activity.go

...compute/models/loadbalancerbackendgroupresource.go

pkg/util/version/version.go

pkg/util/rbacutils/rbac.go

... and 728 more

Continue to review full report at Codecov.

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

Codecov Report

Merging #9824 (5c7588f) into master (1e6f611) will increase coverage by 2.07%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #9824       +/-   ##
==========================================
+ Coverage    5.98%   8.06%    +2.07%
==========================================
  Files         848     107      -741
  Lines      131712   12978   -118734
==========================================
- Hits         7888    1047     -6841
+ Misses     123123   11811   -111312
+ Partials      701     120      -581

Flag
Coverage Δ

aFlag
8.06% <ø> (+2.07%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

pkg/compute/models/groupguests.go

pkg/mcclient/options/k8s/repo.go

pkg/hostman/hostinfo/hostinfohelper.go

pkg/mcclient/options/servicecertificates.go

pkg/multicloud/aws/network.go

pkg/util/rbacutils/ipmatch.go

pkg/compute/models/scheduledtask_activity.go

...compute/models/loadbalancerbackendgroupresource.go

pkg/util/version/version.go

pkg/util/rbacutils/rbac.go

... and 728 more

Continue to review full report at Codecov.

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

/lgtm

/lgtm


Bug: Crashes when the token has been revoked

Before you start

[X] Have you updated FluentHub? You might be using an old version.
[X] Have you checked if a similar issue has already been reported?

What version of Windows is this issue present?
Windows 10
What version/architecture of FluentHub are you on?
V0.5.0 RELEASE
Description
Reopen it or browse repo will crashed after I revoke authorization from GitHub.
Steps To Reproduce

Authorize app
Revoke authorization
Reopen app or browse repo

Expected behavior
Ensure do not occur such a problem.
Stack Trace
Not show error page
📸 Assets
No response

Thank you for feedback.

I uploaded the new version 0.8.9 into the Store. Can you check if this issue still exists?

i will check it, thanks

Crashing should be fixed in 0.8.40 Can you fix?
I will add more detailed message for it in the future.

Crashing should be fixed in 0.8.40 Can you check?
I will add more detailed message for it in the future.

sorry, i find my reply had not been sent. i will check it in my spare time

the problem is fixed, thanks


Update repositories.txt

Hello @galarb. I see your pull request removes several other libraries in addition to adding https://github.com/galarb/gyroturn.git. You can see the changes you are proposing here:
https://github.com/arduino/library-registry/pull/1923/files
If you really are proposing the removal of those libraries then you must provide a clear explanation of why. If the removals are unintentional then please fix your pull request as we cannot accept it in the current state.

Hi,
Correct I am trying to create another library as you wrote below.
But still on clicli...
I keep getting an error message asif “
❌ ERROR: library.properties is missing a name field.
“
I cannot seem to find where the problem is…. I tried so many time changing small things in the library.properties file, to no avail.
Your Help is very much appreciated!

Best Regards,
Gal Arbel
Mobile: +972 502158529
On 1 Oct 2022, at 15:14, per1234 @.***> wrote:
Hello @galarb https://github.com/galarb. I see your pull request removes several other libraries in addition to adding https://github.com/galarb/gyroturn.git. You can see the changes you are proposing here:
https://github.com/arduino/library-registry/pull/1923/files https://github.com/arduino/library-registry/pull/1923/files
If you really are proposing the removal of those libraries then you must provide a clear explanation of why. If the removals are unintentional then please fix your pull request as we cannot accept it in the current state.
—
Reply to this email directly, view it on GitHub https://github.com/arduino/library-registry/pull/1923#issuecomment-1264347664, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUCSL64EFGDCDAIMBGVWBADWBATJNANCNFSM6AAAAAAQ2LL76U.
You are receiving this because you were mentioned.

@ArduinoBot

Closing as duplicate of https://github.com/arduino/library-registry/pull/1926


Support for multiple knowledges per session

Support for Multiple Knowledge Bases per Session
Current Situation
Currently, Hollama allows users to select a single knowledge entry per session. This limits the flexibility and depth of information that can be incorporated into a single conversation.
Feature Request
We propose adding support for selecting and using multiple knowledges within a single session. This would allow users to combine different sources of information, creating more comprehensive and versatile conversational contexts.
Proposed Functionality

User Interface Updates:

Modify the knowledge selection dropdown to allow multiple selections.

Logic Changes:

Modify the request payload creation to incorporate information from all selected knowledges.

Benefits

More comprehensive responses by combining multiple sources of information.
Greater flexibility in tailoring sessions to specific needs.
Improved ability to handle complex, multi-domain queries.

Implementation Considerations

Should there be a limit on the number of knowledge bases that can be selected?  I don't think there should be.
How might this affect the model's context window and response generation time?  This is where allowing the user to edit the Ollama num_ctx param would come in handy.  See Ollama docs.
Does Ollama support multiple CONTEXT tags?  Here's a relevant snippet from ollama.ts.

	const firstMessage = session.messages[0]
	if (firstMessage.knowledge) {
		payload.prompt = `
			<CONTEXT
				name="${firstMessage.knowledge.name}"
				id="${firstMessage.knowledge.id}"
				updatedAt="${firstMessage.knowledge.updatedAt}"
			>
				${firstMessage.knowledge.content}
			</CONTEXT>

			${payload.prompt}
		`;
	}

The Message interface would need to be updated to support a list of Knowledges.  Maybe these two should be decoupled?  Or better yet, maybe only the Session interface should contain the list of Knowledge's.  Here's the relevant snippet from sessions.ts:

export interface Message {
	role: 'user' | 'ai' | 'system';
	content: string;
	knowledge?: Knowledge;  // Remove this one?
}

export interface Session {
	id: string;
	model: string;
	messages: Message[];
	context: number[];
	knowledge?: Knowledge;  // Make this an array of Knowledges?
}

Questions for Discussion

Are there any concerns about the complexity this might add for new users?
Should this be an "advanced" feature, or available to all users by default?

Thanks for your consideration @fmaclen! I might have time to take this one on soon if you'd like, but I know you're working on a major UI overhaul, so maybe I'll wait until that one is merged in.

@raychz thanks for the detailed suggestion!
The way I was thinking about this feature is as follows:

A user can add "context" to any session at any time, meaning it can be added at the beginning in a "New session" or in the middle of an existing one.
Context could be one or more sources such as:

Copy/paste a block of text
Paste a link to a website (which Hollama will attempt to extract the text from) [*]
Choose/drag-and-drop a text file

All of this can be added "on the fly" in a session, a user shouldn't need to create Knowledge first.
Then, in the Knowledge section a user can find the same UI component that's present in Session, except that it can be saved as Knowledge to be re-used later.

Should there be a limit on the number of knowledge bases that can be selected? I don't think there should be.

Yeah, agreed. Wouldn't set a limit.

How might this affect the model's context window

This is an important detail, adding a bunch of context at once could easily exceed the context window of the model.

This is where allowing the user to edit the Ollama num_ctx param would come in handy.

In general, I'd like to avoid expecting the user to know which value to set num_ctx.
It'd be great if we can count the tokens of the current context + prompt (#7) before submitting the form. Looks like there is an ongoing discussion about it: https://github.com/ollama/ollama/issues/1716
If Ollama doesn't have a tokenizer we can use, can we use a 3rd party one?
The other caveat is that each model has a different context window, does Ollama report this value via the API?

Here's where I'm at:

The first issue should only implement "multiple text blocks" in the Knowledge view.
We should add 2 new issues for supporting link parsing and file upload also in the Knowledge view.
And then a 3rd issue which implements a way to add all of these data sources in the Session window without having to go through the Knowledge view.
The token count/context window feature should probably be done separately in #7.

I might have time to take this one on soon if you'd like, but I know you're working on a major UI overhaul, so maybe I'll wait until that one is merged in.

The UI overhaul should have an impact on some of these features but should be minimal for tasks 1 and 4.

[*] I actually have a prototype Chrome extension that fetches the text from public-facing URLs, should make that repo public:

Here's a rough mockup for adding multiple text boxes in a particular "Knowledge":

By default "New knowledge" has an empty text box
Clicking the [T] adds a new box

This feature will likely be covered by #116


Create your own Game!!

Create a Simple Game, using nothing but HTML and JavaScript.

Vaibhavi Thakare
SY Comp
I'd love to work on the given problem statement

@alwaystanaya20 You have already been assigned one issue. You can work only on one issue at a time . Once you complete it you may work on this issue if no one else comments on it.

@aditisinghal1210 You have already been assigned one issue. You can work only on one issue at a time . Once you complete it you may work on this issue if no one else comments on it.

Kasturi Mandlik
Cummins college of Engineering, Pune
I would like to work on this issue. Can you please assign me this issue?

@Rasika-Kanitkar You have already been assigned one issue. You can work only on one issue at a time . Once you complete it you may work on this issue if no one else comments on it.

@Shrey63 Yes you can work on this issue. Pls upload your solution in the folder named "Solutions". Your deadline 26March'23 11:59pm