[Select] Don't lock the body scroll

[ ] The issue is present in the latest release.
[ ] I have searched the issues of this repository and believe that this is not a duplicate.

Current Behavior 😯
When I open a Select component vertical scroll bar of page dissapears.
See here

I don't have demo to reproduce sorry, but I suppose this is known issue: https://github.com/mui-org/material-ui/issues/8710, https://github.com/mui-org/material-ui/pull/7239,  so maybe someone can help.
The select component is located on an app bar on the screen shot.
I tried setting box-sizing: border-box on App bar, no help.
Expected Behavior 🤔
Scrollbar should not dissapear.
Your Environment 🌎

Tech
Version

Material-UI
v3.1.1

React
16.5

Browser
Chrome

Any update on this issue? I have a select element inside a hero/landing page. When the select menu opens, scroll gets locked. And that causes body to shrink by about .2px. And that causes the background image to jump a bit. I find this very annoying. Anyone have any suggestions to work around this?

I've found out that material ui is apply a padding-right of 17px to handle the hidden scrollbar. But the problem is that the scrollbar is actually 17.2px. I've tested on chrome, firefox, and opera

@sjsakib
Quote from eplumecocq
<Select    MenuProps={{      disableScrollLock: true    }} />
Which means that if you have this problem for a menu, just add disableScrollLock={true} as a prop to Menu

@jeronimomora Unfortunately, this isn't enough for solving the problem. The position won't be correct.

Following, also experiencing this with Select component.
| Material-UI | v3.9.2  |
| React       | v16.9.0  |
| Browser     | chrome  |

@sjsakib
Quote from eplumecocq for a Select fix
<Select MenuProps={{ disableScrollLock: true }} />
Which means that if you have this problem for a menu, just add disableScrollLock={true} as a prop to Menu

While this seems to works for the Select component, React throws the following warning. I suspect this is because there is no child Menu compnent under Select. Select only has the Menuiitem components as children.
"Warning: React does not recognize the disableScrollLockprop on a DOM element. If you intentionally want it to appear in the DOM as a custom attribute, spell it as lowercasedisablescrolllock instead. If you accidentally passed it from a parent component, remove it from the DOM element."

Any updates ? I also have the problem with version 4.8.2 when displaying drawers, menus. The disableScrollLock works for me on the Menus but this is not a satisfying solution IMO.

I'm having a scroll bar issue with the Select component - the scroll bar appears when hovering over it and disappears on mouse leave.  It causes a janky visual effect.  Setting overflow-y to hidden on all sorts of elements doesn't fix it.  Anyone else run into this and solve it?

Personnaly i've locked the version on 4.6.x, you can try the disableScrollLock prop trick else

In my case this problem is caused by Tooltip component. It is a bit strange issue.
if I use it like this:
const ActionButton = ({ tooltip }) => (   <Tooltip title={tooltip} >     <Button />   </Tooltip> )
it adds padding-right to the body (17px), but if I remove Tooltip from inside the ActionButton component and wrap it from outside like this:
<Tooltip title={tooltip}>     <ActionButton />  </Tooltip>
it works fine

Seeing the same behavior as @Dito-Orkodashvili with a <Button> wrapped by a <Tooltip> toggling a <Menu>
If the box model is close to showing the vertical scrollbar, opening the menu will add the padding-right:17px scrollbar to the body though there is no scrollbar moving the body 17px to the left.
As a workaround set the tooltip's title to nothing when the <Menu> is opened:
<Tooltip title={this.state.menuAnchor ? '' : 'The Tooltip'}>
@material-ui/core 4.9.5

This is still an issue with @material-ui/core 4.11.0. When I open a nav menu or popover it adds:
padding-right: 10px
disableScrollLock={true} fixes it but is a terrible solution since people can then scroll which seems very unnatural

I added box-sizing: border-box to body so that at least the added padding-right no longer caused the page content to stretch when the scrollbar is hidden, though there is now an empty space down the side of the page when the menu is open. Most users probably won't notice, but some will.

The whole  Modal -> Popover -> Menu -> Select   approach is a mistake.  Select shouldn't be a modal. Please check Microsoft Fluent UI  https://developer.microsoft.com/en-us/fluentui#/controls/web/dropdown
I really don't like everything is based on Modal and the hack to body overflow:hidden or padding-right. It is a patch on top another patch. Guys, can we properly implement this basic component "select dropdown"? Coz we are going to build more complex component on top of this. The whole JSS approach in MUI is great. But the basic component is not done properly, which will scare dev team away. No matter how I can fix or add properties into this Select Dropdown, client is not happy.
The dropdown should be position: absolute to the relative parent select input. Do not inherit Angular Material design, their approach is wrong:)

Just in case this helps, in my team we've fixed this by adding the following css :
html {
    overflow: hidden;
}

See https://github.com/mui-org/material-ui/issues/19984

The issue is still actual for me

Just in case this helps, in my team we've fixed this by adding the following css :
html {
    overflow: hidden;
}

See #19984

In this case you won't have any scrolls at all

Just in case this helps, in my team we've fixed this by adding the following css :
html {
    overflow: hidden;
}

See #19984

In this case you won't have any scrolls at all

Well you can let the body overflow but I agree this is not ideal

@oliviertassinari do you have any advice how to fix that?
If I use MenuProps={{ disableScrollLock: true }}, the menu will have improper position after scroll

https://codesandbox.io/s/suspicious-wozniak-847u9?file=/src/App.js:594-633

In my case padding-right 17px is added to the MenuList component, not to the right of the page (where the scrollbar would appear) and I can't find any way to work around this.

@oliviertassinari I'm using "@material-ui/core": "4.9.10", and am still seeing this issue. Per @Artyom-Ganev comment, setting {{ disableScrollLock: true }} does allow scrolling to be enabled, however, the Menu component's position is not fixed.

My solution to this problem is:

With CSS use a custom scrollbar for the body with a given $scrollbar-width value
Set overflow: overlay; for the body
Add padding-right: $scrollbar-width; to the body

This way you will have a fixed padding to the body so that when the scrollbar is hidden the padding won't be affected. However, you will have an extra padding problem with small height views that don't render the scrollbar, you can do a work around like applying the style in [3] padding-right: $scrollbar-width; conditionally.

I think the logic should be:

get current scroll position
open select
close select
restore initial scroll position

I think the logic should be (if disableScrollLock is set to false, which is the default):

get current scroll position
open select
close select
restore initial scroll position

I guess, one more option is to close menu on scrolling. I omitted all logic except opening and closing
const SelectWrapper = () => {
  const [isOpen, setIsOpen] = useState(false);

  useEffect(() => {
    const handler = () => {
      setIsOpen(false);
    };
    window.addEventListener('scroll', handler);
    return () => {
      window.removeEventListener('scroll', handler);
    };
  }, []);

  const menuProps: Partial<MenuProps> = {
    variant: 'menu',
    disableScrollLock: true,
  };

  return (
      <Select
        open={isOpen}
        onOpen={() => {
          setIsOpen(true);
        }}
        onClose={() => {
          setIsOpen(false);
        }}
        MenuProps={menuProps}
      >
      </Select>
  );
};

disableScrollLock: true,

This seems to bee good solution for me , but another problem is that if you have more then one  this triggers open all of . How would I modify it for multiple  where only one can be open at the same time?

I guess, one more option is to close menu on scrolling. I omitted all logic except opening and closing
const SelectWrapper = () => {
  const [isOpen, setIsOpen] = useState(false);

  useEffect(() => {
    const handler = () => {
      setIsOpen(false);
    };
    window.addEventListener('scroll', handler);
    return () => {
      window.removeEventListener('scroll', handler);
    };
  }, []);

  const menuProps: Partial<MenuProps> = {
    variant: 'menu',
    disableScrollLock: true,
  };

  return (
      <Select
        open={isOpen}
        onOpen={() => {
          setIsOpen(true);
        }}
        onClose={() => {
          setIsOpen(false);
        }}
        MenuProps={menuProps}
      >
      </Select>
  );
};

This seems to bee good solution for me , but another problem is that if you have more then one this triggers open all of . How would I modify it for multiple where only one can be open at the same time?

I guess, one more option is to close menu on scrolling. I omitted all logic except opening and closing
const SelectWrapper = () => {
  const [isOpen, setIsOpen] = useState(false);

  useEffect(() => {
    const handler = () => {
      setIsOpen(false);
    };
    window.addEventListener('scroll', handler);
    return () => {
      window.removeEventListener('scroll', handler);
    };
  }, []);

  const menuProps: Partial<MenuProps> = {
    variant: 'menu',
    disableScrollLock: true,
  };

  return (
      <Select
        open={isOpen}
        onOpen={() => {
          setIsOpen(true);
        }}
        onClose={() => {
          setIsOpen(false);
        }}
        MenuProps={menuProps}
      >
      </Select>
  );
};

I guess it's not possible to use this solution with components that utilize the Select component, such as the TablePagination component.

I encountered this issue due to this my react app got frozen and scrolls got disabled from page.

I encountered this issue due to this my react app got frozen and scrolls got disabled from page. I think select component don't unbind the scroll listeners properly building a memory leak and blocking UI thread.

I'm also getting this. scrollbars are hiding and not coming back when the select closes. I'm getting it with the Select used in TablePagination and can't pass MenuProps to it. Also happening with Dialog.

I encountered this issue due to this my react app got frozen and scrolls got disabled from page. I think select component don't unbind the scroll listeners properly building a memory leak and blocking UI thread.

I'm also getting this. scrollbars are hiding and not coming back when the select closes. I'm getting it with the Select used in TablePagination and can't pass MenuProps to it. Also happening with Dialog.

disableScrollLock:true solved my problem.

disableScrollLock:true works find for Select but I was also getting it on the TablePagination component which has a Select that you can't pass disableScrollLock to.
I ended up just overriding the padding and overflow on the body with important, as it didn't affect the app

The disableScrollLock: false solves the problem when using Select or TextField. Adding that on the global theme as default props makes it no longer necessary to write that prop on every select.
But the problem still on components that have selects inside it... like the TablePagination or Datagrid.
It should be possible to pass SelectProps like this on the DataGrid, but that is not working too.
<DataGrid
  componentsProps={{
    pagination: { SelectProps: { MenuProps: { disableScrollLock: false } } },
  }}
/>

Guys i am just a junior programmer but ive found one solution, u can just pass
MenuProps={{                 style: {                   maxWidth: 0,                   maxHeight: 300,                   position: 'absolute',                 },                 disableScrollLock: true,               }}
And that will hold menu items under select, hope it will help)

Should this issue be closed? It seems this is the normal behavior of the Select component.

Guys i am just a junior programmer but ive found one solution, u can just pass MenuProps={{ style: { maxWidth: 0, maxHeight: 300, position: 'absolute', }, disableScrollLock: true, }}
And that will hold menu items under select, hope it will help)
Suggested solution doesn't work for me.Page scrolls to the top, when I don't pass autoFocus={false} and disableAutoFocus={true}, and if I do then menu appears in different places depending on the current page scroll. How can I attach menu to the bottom of my input and keep page scrolling at the same time?

@noblessem Thanks! your solution worked

Note that this example is also present on the official doc page: https://mui.com/material-ui/react-menu/

This is because of the calculation in MUI .
So to disable to the scrolling MUI adds "overflow: hidden" to your body element and if your browser shows scrollbar then it will have a flickering in your page when adding the overflow:hidden since this will hide the scrollbar and ur page will shift to right. So it is adding the padding to body element to not have that flickering event but this is not a good solution to fix it.
For me following workaround is working well and hopefully MUI would also have it instead of the current solution.
html {
  overflow: hidden
}

body {
  overflow: auto !important;
  max-height: 100vh;
}

So with this we are forcing our window.innerWidth and document.documentElement.clientWidth to have same value so that MUI dont add that scrolling but still we keep our scrolling behavior but it is working on body element

Ok, just spent my 4 hours on this weird behaviour.
This issue is being opened for 4 years and its priority is set to 'important'. Is there any progress?
This is deeply messed up as @peterlu-hinter correctly summarised.

Hi everyone! Thanks for your patience.
We've added a workaround for this use case in https://github.com/mui/material-ui/pull/37773, released in version 5.14.7. You can now turn off the Select component's scroll lock and margin threshold. To do so, set the MenuProps properties disableScrollLock to true and marginThreshold to null:
MenuProps={{
  // disable scroll lock
  disableScrollLock: true,
  // allow the menu to go outside the window
  marginThreshold: null
}}

Here's a CodeSandbox example of this.
Doing so on a TextField component with the select prop enabled is also possible. To do so, provide the same MenuProps properties through the SelectProps prop. Here's a CodeSandbox example of this.
I'll close this issue as this workaround enables the scroll behavior when the select is open. If you have any questions, don't hesitate to leave a comment. Feel free to open a new issue if you encounter any problems with the workaround.

@DiegoAndai The demo looks great, but I think this issue is about having a non-modal select. In https://codesandbox.io/s/issue-17353-scrollable-text-field-select-forked-8hq5xr, there is still aria-hidden=true on all the elements of the page, and most importantly, can't focus on the input in one click it takes two. See https://github.com/mui/material-ui/issues/17353#issuecomment-727710338

@oliviertassinari The original intent of this issue is that when Select opens, it shouldn't lock the page's scroll. We won't make that change in v5 as it's a breaking change, so adding a workaround to achieve it is the next best thing we can do.
Keeping this issue open is not useful IMO. It has a lot of comments and opinions, so it's hard to read and understand the scope. I propose closing it.
I agree that there is value in this issue's comments, like https://github.com/mui/material-ui/issues/17353#issuecomment-727710338. The Select component is next in line to be migrated to use Base UI for v6. For that work we should keep these in mind cc: @mj12albert

@DiegoAndai your demo looks great, but I think this issue is about having a non-modal select, per https://github.com/mui/material-ui/issues/17353#issuecomment-727710338.
In https://codesandbox.io/s/issue-17353-scrollable-text-field-select-forked-8hq5xr, there is still aria-hidden=true on all the elements of the page, and most importantly, can't focus on the input in one click it takes two.

Let's create a new issue about this, seems like it is a bit different than the original issue. @DiegoAndai please include the original comment too. We can generalize the issue to all components that use modals, to allow a modal and non-modal options. I have partially covered this in https://github.com/mui/material-ui/issues/38630

I created a new issue to track the non-modal select option for v6: https://github.com/mui/material-ui/issues/38756.
Do you think we can close this one now, @oliviertassinari?

I think that this issue is a subset of #38756 (cover more components). I mean, I fail to understand why people would land here to only ask to allow the scrollbar and not to allow focus on the page too, or keeping any modal behavior. If we close this one, we would lose the 👍, I think it's better open for visibility.

Free Scrollbar!! UX matters most, Nothing should lock the scrollbar, The UI fluctuates.

added this
body { overflow: auto !important; }
To overcome any CSS or JavaScript preventing the body from scrolling or locking the scroll bar.
But I ended up with the MUI offset of the right margin of the screen, like it fluctuates to the opposite.
I made that to stop the fluctuation from the scrollbar hiding, but MUI still got another offset.


Refresh topic about installing to GAC

Removes references to VS 2012 and 2013. Also removes InstallShield section since it's not included with VS 2017. Adds info about the WiX Toolset extension for VS 2017.

@rpetrusha this is good to go for review. @Mikejo5000 thanks for the info about this!


Error When Running open_images_downloader.py

Hey dusty, I am trying to work through the transfer learning portion of your tutorial. I am getting some errors when attempting to use the open_images_downloader.py. I am wondering if you could have a look and help figure out why I am getting these errors.
user@tx1:/media/user/SD/jetson-inference/python/training/detection/ssd$  python3 open_images_downloader.py --class-names "Apple,Orange,Banana,Strawberry,Grape,Pear,Pineapple,Watermelon" --data=data/fruit
2021-04-25 16:46:07 - Download https://storage.googleapis.com/openimages/2018_04/class-descriptions-boxable.csv.
2021-04-25 16:46:07 - Requested 8 classes, found 8 classes
2021-04-25 16:46:07 - Download https://storage.googleapis.com/openimages/2018_04/train/train-annotations-bbox.csv.
2021-04-25 16:49:57 - Read annotation file data/fruit/train-annotations-bbox.csv
Traceback (most recent call last):
  File "open_images_downloader.py", line 144, in <module>
    annotation_set = pd.read_csv(annotation_file)
  File "/usr/lib/python3/dist-packages/pandas/io/parsers.py", line 709, in parser_f
    return _read(filepath_or_buffer, kwds)
  File "/usr/lib/python3/dist-packages/pandas/io/parsers.py", line 455, in _read
    data = parser.read(nrows)
  File "/usr/lib/python3/dist-packages/pandas/io/parsers.py", line 1087, in read
    df = DataFrame(col_dict, columns=columns, index=index)
  File "/usr/lib/python3/dist-packages/pandas/core/frame.py", line 330, in __init__
    mgr = self._init_dict(data, index, columns, dtype=dtype)
  File "/usr/lib/python3/dist-packages/pandas/core/frame.py", line 461, in _init_dict
    return _arrays_to_mgr(arrays, data_names, index, columns, dtype=dtype)
  File "/usr/lib/python3/dist-packages/pandas/core/frame.py", line 6173, in _arrays_to_mgr
    return create_block_manager_from_arrays(arrays, arr_names, axes)
  File "/usr/lib/python3/dist-packages/pandas/core/internals.py", line 4637, in create_block_manager_from_arrays
    blocks = form_blocks(arrays, names, axes)
  File "/usr/lib/python3/dist-packages/pandas/core/internals.py", line 4709, in form_blocks
    int_blocks = _multi_blockify(int_items)
  File "/usr/lib/python3/dist-packages/pandas/core/internals.py", line 4778, in _multi_blockify
    values, placement = _stack_arrays(list(tup_block), dtype)
  File "/usr/lib/python3/dist-packages/pandas/core/internals.py", line 4821, in _stack_arrays
    stacked = np.empty(shape, dtype=dtype)
numpy.core._exceptions.MemoryError: Unable to allocate 669. MiB for an array with shape (6, 14610229) and data type int64
user@tx1:/media/user/SD/jetson-inference/python/training/detection/ssd$ df
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/mmcblk0p1  14384136 13063848    569904  96% /
none             1779756        0   1779756   0% /dev
tmpfs            2025108    41768   1983340   3% /dev/shm
tmpfs            2025108    71648   1953460   4% /run
tmpfs               5120        4      5116   1% /run/lock
tmpfs            2025108        0   2025108   0% /sys/fs/cgroup
tmpfs             405020        4    405016   1% /run/user/0
tmpfs             405020       24    404996   1% /run/user/120
tmpfs             405020      148    404872   1% /run/user/1000
/dev/mmcblk2p1  30542260 13082328  15885404  46% /media/user/SD
user@tx1:/media/user/SD/jetson-inference/python/training/detection/ssd$ export TMPDIR=/media/user/SD/temp
user@tx1:/media/user/SD/jetson-inference/python/training/detection/ssd$  python3 open_images_downloader.py --class-names "Apple,Orange,Banana,Strawberry,Grape,Pear,Pineapple,Watermelon" --data=data/fruit
2021-04-25 16:53:50 - Requested 8 classes, found 8 classes
2021-04-25 16:53:50 - Read annotation file data/fruit/train-annotations-bbox.csv
^CTraceback (most recent call last):
  File "open_images_downloader.py", line 144, in <module>
    annotation_set = pd.read_csv(annotation_file)
  File "/usr/lib/python3/dist-packages/pandas/io/parsers.py", line 709, in parser_f
    return _read(filepath_or_buffer, kwds)
  File "/usr/lib/python3/dist-packages/pandas/io/parsers.py", line 455, in _read
    data = parser.read(nrows)
  File "/usr/lib/python3/dist-packages/pandas/io/parsers.py", line 1069, in read
    ret = self._engine.read(nrows)
  File "/usr/lib/python3/dist-packages/pandas/io/parsers.py", line 1839, in read
    data = self._reader.read(nrows)
  File "pandas/_libs/parsers.pyx", line 902, in pandas._libs.parsers.TextReader.read
  File "pandas/_libs/parsers.pyx", line 924, in pandas._libs.parsers.TextReader._read_low_memory
  File "pandas/_libs/parsers.pyx", line 1001, in pandas._libs.parsers.TextReader._read_rows
  File "pandas/_libs/parsers.pyx", line 1130, in pandas._libs.parsers.TextReader._convert_column_data
  File "pandas/_libs/parsers.pyx", line 1175, in pandas._libs.parsers.TextReader._convert_tokens
  File "pandas/_libs/parsers.pyx", line 1221, in pandas._libs.parsers.TextReader._convert_with_dtype
  File "/usr/lib/python3/dist-packages/pandas/core/dtypes/common.py", line 777, in is_integer_dtype
    def is_integer_dtype(arr_or_dtype):
KeyboardInterrupt
user@tx1:/media/user/SD/jetson-inference/python/training/detection/ssd$  python3 open_images_downloader.py --class-names "Apple" --data=data/fruit
2021-04-25 16:54:50 - Requested 1 classes, found 1 classes
2021-04-25 16:54:50 - Read annotation file data/fruit/train-annotations-bbox.csv
Killed
user@tx1:/media/user/SD/jetson-inference/python/training/detection/ssd$ python3 open_images_downloader.py --stats-only --class-names "Apple,Orange,Banana,Strawberry,Grape,Pear,Pineapple,Watermelon" --data=data/fruit
2021-04-25 16:59:20 - Requested 8 classes, found 8 classes
2021-04-25 16:59:20 - Read annotation file data/fruit/train-annotations-bbox.csv
Killed

I was able to solve this by cloning the repository onto my laptop then downloading and transferring the data folder to the jetson.

I was able to solve this by cloning the repository onto my laptop then running the download script and transferring the data folder to the jetson.

OK gotcha - the Killed message means that it ran out of memory.   To free up additional memory, you may want to try these suggestions:

https://github.com/dusty-nv/jetson-inference/blob/master/docs/pytorch-transfer-learning.md#mounting-swap
https://github.com/dusty-nv/jetson-inference/blob/master/docs/pytorch-transfer-learning.md#disabling-the-desktop-gui


How to use the pre-trained model to run the work successfully?

Hi, I downloaded the pre-trained model as mentioned and run the command as below:
python tools/train_net.py --eval-only --config-file configs/eval/FCSGG-Res50-BiFPN-P2P5-MultiscaleHead-MS.yaml MODEL.WEIGHTS "output/ResNet50-4S-FPN-2.pth"
The exception will happen as below.
I tried the other two models: HRNetW32-1S.pth and HRNetW48-5S-FPN-2.pth, unfortunately, none of them run successfully.
[08/12 12:44:27 fvcore.common.checkpoint]: [Checkpointer] Loading from output/ResNet50-4S-FPN-2.pth ...
Traceback (most recent call last):
File "tools/train_net.py", line 160, in
args=(args,),
File "d:\dataset\src\detectron2\detectron2\engine\launch.py", line 62, in launch
main_func(*args)
File "tools/train_net.py", line 130, in main
res = Trainer.test(cfg, model)
File "d:\dataset\src\detectron2\detectron2\engine\defaults.py", line 512, in test
data_loader = cls.build_test_loader(cfg, dataset_name)
File "tools/train_net.py", line 58, in build_test_loader
return build_detection_test_loader(cfg, dataset_name, mapper=DatasetMapper(cfg, False))
File "d:\dataset\src\detectron2\detectron2\data\build.py", line 382, in build_detection_test_loader
else None,
File "d:\dataset\src\detectron2\detectron2\data\build.py", line 219, in get_detection_dataset_dicts
dataset_dicts = [DatasetCatalog.get(dataset_name) for dataset_name in dataset_names]
File "d:\dataset\src\detectron2\detectron2\data\build.py", line 219, in
dataset_dicts = [DatasetCatalog.get(dataset_name) for dataset_name in dataset_names]
File "d:\dataset\src\detectron2\detectron2\data\catalog.py", line 58, in get
return f()
File "D:\code\newton\workspace\pytorchPro\VisionFormer\stgraph\SceneGraph\fcsgg\fcsgg\data\datasets\visual_genome.py", line 491, in
filter_non_overlap=False))
File "D:\code\newton\workspace\pytorchPro\VisionFormer\stgraph\SceneGraph\fcsgg\fcsgg\data\datasets\visual_genome.py", line 401, in get_dicts
filenames = [self.all_filenames[i] for i in np.where(split_mask)[0]]
File "D:\code\newton\workspace\pytorchPro\VisionFormer\stgraph\SceneGraph\fcsgg\fcsgg\data\datasets\visual_genome.py", line 401, in
filenames = [self.all_filenames[i] for i in np.where(split_mask)[0]]
IndexError: list index out of range

Thanks


Remove copyrights footnotes, except from README.md

It looks very redundant to repeat it in every text... so I think that
it's fine to leave on in the toplevel README.md.

@elibarzilay,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot


Username capitalization

Make it so uppercase characters can be used in usernames without possible duplicates, maybe by converting both the username being inputted and the username being checked to lowercase and then comparing them.

Added


Firefox supports import in Worklet

And has for some time now: https://bugzilla.mozilla.org/show_bug.cgi?id=1572644

(the compile example works as is, obviously)


Record docs page broken

When going to http://elm-lang.org/docs/records the page is blank and the following errors appear in the console:
records:3840 Uncaught ReferenceError: _elm_lang$virtual_dom$VirtualDom$text is not defined(anonymous function) @ records:3840(anonymous function) @ records:4850
records:4852 Uncaught ReferenceError: Elm is not defined

This happens on both Google Chrome Version 51.0.2704.63 (64-bit) and Firefox 46.0.1

Should be fixed. Thanks for the report!


ERROR: failed to solve: process "/bin/sh -c apt-get update -y && apt-get install software-properties-common -y &&     add-apt-repository -y multiverse && apt-get update -y && apt-get upgrade -y &&     apt-get install -y apt-utils nano vim man build-essential wget sudo &&     rm -rf /var/lib/apt/lists/*" did not complete successfully: exit code: 100

ERROR: failed to solve: process "/bin/sh -c apt-get update -y && apt-get install software-properties-common -y &&     add-apt-repository -y multiverse && apt-get update -y && apt-get upgrade -y &&     apt-get install -y apt-utils nano vim man build-essential wget sudo &&     rm -rf /var/lib/apt/lists/*" did not complete successfully: exit code: 100

Please use an appropriate issue title and provide detailed description of the issue you are facing.


Please consider fixing issues detected by repository checker

Notification from ioBroker Check and Service Bot
Dear adapter developer,
I'm the ioBroker Check and Service Bot. I'm an automated tool processing routine tasks for the ioBroker infrastructure. I have recently checked the repository for your adapter wlanthermo-nano for common errors and appropiate suggestions to keep this adapter up to date.
This check is based the current head revisions (master / main  branch) of the adapter repository
Please see the result of the check below.
ioBroker.wlanthermo-nano
   -
ERRORS:

[ ] :heavy_exclamation_mark: [E026] "{'engines': {'node'>='16'}}" is required at package.json, "{'engines':{'node'>='18'}}" is recommended
[ ] :heavy_exclamation_mark: [E033] @iobroker/adapter-core 2.6.7 specified. 3.1.4 is required as minimum, 3.1.6 is recommended. Please update dependencies at package.json
[ ] :heavy_exclamation_mark: [E036] @iobroker/testing 3.0.2 specified. 4.1.3 is required as minimum,  4.1.3 is recommended. Please update devDependencies at package.json
[ ] :heavy_exclamation_mark: [E046] devDependency must not require a specific version. Use "~1.2.3" or "^1.2.3" syntax. Please update "@alcalzone/release-script-plugin-iobroker:3.5.9"
[ ] :heavy_exclamation_mark: [E046] devDependency must not require a specific version. Use "~1.2.3" or "^1.2.3" syntax. Please update "@alcalzone/release-script-plugin-license:3.5.9"
[ ] :heavy_exclamation_mark: [E046] devDependency must not require a specific version. Use "~1.2.3" or "^1.2.3" syntax. Please update "@alcalzone/release-script:3.5.9"
[ ] :heavy_exclamation_mark: [E157] js-controller 4.0.0 listed as dependency but 4.0.24 is required as minimum, 5.0.19 is recommended. Please update dependency at io-package.json.
[ ] :heavy_exclamation_mark: [E254] Version "0.1.2" listed at common.news at io-package.json does not exist at NPM. Please remove from news section.
[ ] :heavy_exclamation_mark: [E518] "@alcalzone/release-script" (>=3.0.0) is used, but ".releaseconfig.json" not found. Please create.
[ ] :heavy_exclamation_mark: [E605] No actual year found in copyright. Please add "Copyright (c) 2024 DutchmanNL<EMAIL_ADDRESS>at the end of README.md
[ ] :heavy_exclamation_mark: [E701] No actual year found in LICENSE. Please add "Copyright (c) 2024 DutchmanNL<EMAIL_ADDRESS>at the start of LICENSE

WARNINGS:

[ ] :eyes: [W040] "keywords" within package.json should contain "ioBroker"
[ ] :eyes: [W048] devDependency should not require a specific version. Use "~1.2.3" or "^1.2.3" syntax. Please update "@iobroker/adapter-react:2.2.4"
[ ] :eyes: [W127] Missing suggested translation into uk of "common.titleLang" in io-package.json.
[ ] :eyes: [W134] Missing suggested translation into uk of "common.desc" in io-package.json.
[ ] :eyes: [W135] "common.tier" is required in io-package.json. Please check https://github.com/ioBroker/ioBroker.docs/blob/master/docs/en/dev/objectsschema.md#adapter.
[ ] :eyes: [W154] Missing suggested translation into uk of some "common.news" in io-package.json.
[ ] :eyes: [W181] "common.license" in io-package.json is deprecated. Please define object "common.licenseInformation"
[ ] :eyes: [W184] "common.main" is deprecated and ignored. Please remove from io-package.json. Use "main" at package.json instead.
[ ] :eyes: [W184] "common.materialize" is deprecated for admin >= 5 at io-package.json. Please use property "adminUI".
[ ] :eyes: [W184] "common.title" is deprecated and replaced by "common.titleLang". Please remove from io-package.json.
[ ] :eyes: [W510] "/admin/i18n/de/translations.json" or "admin/i18n/de.json" not found, but admin support is declared. Please add.
[ ] :eyes: [W510] "/admin/i18n/en/translations.json" or "admin/i18n/en.json" not found, but admin support is declared. Please add.
[ ] :eyes: [W510] "/admin/i18n/es/translations.json" or "admin/i18n/es.json" not found, but admin support is declared. Please add.
[ ] :eyes: [W510] "/admin/i18n/fr/translations.json" or "admin/i18n/fr.json" not found, but admin support is declared. Please add.
[ ] :eyes: [W510] "/admin/i18n/it/translations.json" or "admin/i18n/it.json" not found, but admin support is declared. Please add.
[ ] :eyes: [W510] "/admin/i18n/nl/translations.json" or "admin/i18n/nl.json" not found, but admin support is declared. Please add.
[ ] :eyes: [W510] "/admin/i18n/pl/translations.json" or "admin/i18n/pl.json" not found, but admin support is declared. Please add.
[ ] :eyes: [W510] "/admin/i18n/pt/translations.json" or "admin/i18n/pt.json" not found, but admin support is declared. Please add.
[ ] :eyes: [W510] "/admin/i18n/ru/translations.json" or "admin/i18n/ru.json" not found, but admin support is declared. Please add.
[ ] :eyes: [W510] "/admin/i18n/uk/translations.json" or "admin/i18n/uk.json" not found, but admin support is declared. Please add.
[ ] :eyes: [W510] "/admin/i18n/zh-cn/translations.json" or "admin/i18n/zh-cn.json" not found, but admin support is declared. Please add.
[ ] :eyes: [W951] .npmignore found but "files" is used at package.json. Please remove .npmignore.

:thumbsup: No suggestions found
Please review issues reported and consider fixing them as soon as appropiate.
Errors reported by repository checker should be fixed as soon as possible. Some of them require a new release to be considered as fixed. Please note that errors reported by checker might be considered as blocking point for future updates at stable repository.
Warnings reported by repository checker should be reviewed. While some warnings can be ignored due to good reasons or a dedicated decision of the developer, most warnings should be fixed as soon as appropiate.
You may start a new check or force the creation of a new issue at any time by adding the following comment to this issue:
@iobroker-bot recheck
@iobroker-bot recreate
Please note that I (and the server at GitHub) have always plenty of work to do. So it may last up to 30 minutes until you see a reaction. I will drop a comment here as soon as I start processing.
Feel free to contact me (@iobroker-bot) if you have any questions or feel that an issue is incorrectly flagged.
And THANKS A LOT for maintaining this adapter from me and all users.
Let's work together for the best user experience.
your
ioBroker Check and Service Bot
@mcm1957 for evidence
Last update at Fri, 13 Sep 2024 14:39:44 GMT based on commit 9e34b237dd0dc0bdf75af86761bffbb91de886af
ioBroker.repochecker 3.0.5

This issue has been updated by ioBroker Check and Service Bot
The following issues have been fixed
[E951] .npmignore found but "files" is used at package.json. Please remove .npmignore.
:thumbsup:Thanks for fixing the issues.
The following issues are new and have been added
[W951] .npmignore found but "files" is used at package.json. Please remove .npmignore.

This issue has been updated by ioBroker Check and Service Bot
The following issues have been fixed
[W184] "common.main" is deprecated and ignored. Please remove from io-package.json. Use "main" at package.json instead.
:thumbsup:Thanks for fixing the issues.
The following issues are new and have been added
[W184] "common.main" is deprecated and ignored. Please remove from io-package.json. Executable is defined by entry "main" at package.json.


pythonw executable

on windows when running GUI linked to Python sys.executable is not the Python interpreter but the GUI executable, in that case one must use the pythonw.exe executable instead (also valid for non-guis):
def run_pip_command(command):
        python_exe = sys.executable
        if sys.platform.startswith("win"):
            python_exe = os.path.join(sys.prefix, "pythonw.exe")
        subprocess.check_call([python_exe, ...

Hello,
Thank you for your report. We have addressed the issue with running nopip on Windows GUI environments in the latest release, version 0.2.0. Now, the run_pip_command method correctly utilizes pythonw.exe when running on Windows to ensure proper execution.
Please update to the latest version by running:
pip install nopip --upgrade

If you encounter any further issues or have additional feedback, feel free to let us know.
Best regards,
Ronivaldo


Imlib2: Add JPEGXL and Postscript support, make webp support optional

Description of changes
This adds support for two new image formats to imlib2.
@risicle This is similar to last time.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

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

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

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

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

[x] Fits CONTRIBUTING.md.

I'd recommend making these optional in the same way we did with svg and heif support, even if we default it to true. Would probably be worth doing this for webp too, assuming there's a --enable- flag for each.

Done

@ofborg build imlib2
need to fix ofborg to ignore .tests entries that don't evaluate on the platform..

Hmm.. my only concern actually is how much it increases imlib2's closure size. It effectively doubles it. On linux x86_64 it goes from 286.1M -> 501.7M, on macos x86_64 87.7M -> 179.3M.

Hmm.. my only concern actually is how much it increases imlib2's closure size. It effectively doubles it. On linux x86_64 it goes from 286.1M -> 501.7M, on macos x86_64 87.7M -> 179.3M.

Should we default those flags to false? Those image formats are still rather rare.

The problem with that is it would mean that hydra (and nixpkgs-review) would never build that support, and so it would be likely to break without anyone noticing. Sometimes we deal with this by having a "full" variant of the package, with everything enabled - i.e., imlib2Full. I don't know how useful this is for a library though, because choosing to use it in an application might take a bit of fiddly overriding. Would that approach satisfy your needs?

Would that approach satisfy your needs?

I can satisfy them with my local config. I just wanted to codify, that imlib2 can support these formats, so any result of this is fine with me.
I still don't understand the problem with the closure size though. If any other package pulls in libjxl or libspectre then the disk usage does not really increase. So if more packages provide support for the format, then it amortizes the cost of the disk-usage.
But I understand that sometimes people want to have an as minimal as possible system. What if we make use some config flags? For example in zathura it makes use of config.zathura.useMupdf. So, what if we make these flags default to config.jxlSupport. Then all other packages where this file format is optional, could then set their flag to this default as well , and the user can configure the system accordingly.
This is pretty much the same as gentoo USE-flags and I am sure this has been discussed before.
Then hydra could build all permutations of these handfull of flags and any breakage could still be noticed.

Hydra has a hard time building its current set of packages as it is - see the process involved in merging a staging branch to master. And "all possible combinations" of options quickly balloons out of control: we have 5 boolean "enable" flags here, that's already 32 variants of this package (and therefore all its >500 reverse dependencies) it would make.

Maybe all permutations is a bit overkill, but I am sure it can find a lot of problems with "all flags disabled" and "all flags enabled".
Anyway, I am fine with any outcome of this.

See my branch https://github.com/risicle/nixpkgs/tree/nagy-imlib2-jxl-ps and pull if you like.

I have added your commit.

@ofborg eval
Now it has one of my commits need someone else to approve...

p.s. as you seem to have more than average interest in this package you could always add yourself to the maintainers for it.


support running cost-model locally

expose the env var KUBECONFIG_PATH in order to run cost-model outside of a kubernetes pod.

@AjayTripathy thoughts on this?

Hi @almonteb -- sorry for the late response. I'm happy to merge this-- just wanted to let you know that because we rely pretty heavily on prometheus, it's tough to run kubecost outside of its full environment. That being said, this definitely looks like a step in the right direction!


Exited validators get reported as missing attestations

TL;DR:
🚶 Our validator 0xpubkey is exited
 [...]
☹ Our validator 0xpubkey and 0 more missed attestation

Thanks for your issue!
Closing as duplicate of #67


Host issues with DNS ip https - EAI_AGAIN and ECONNREFUSED

Hi, I've been trying to setup this for a while now and I never get any errors but nothing happens when I update or add docs to the collection it was supposed to be indexing. How to troubleshoot the change in the document? What commands should I use?
The only log I can see is when running tail -f /var/log/typesense/typesense.log
I20220618 02:35:29.949776 28495 raft_server.h:60] Peer refresh succeeded!
I20220618 02:35:39.951146 28490 raft_server.cpp:531] Term: 5, last_index index: 18, committed_index: 18, known_applied_index: 18, applying_index: 0, queued_writes: 0, pending_queue_size: 0, local_sequence: 44

Cloud logs return 0 logs.
My setup:

I have a fresh Ubuntu AWS Lightsail running typesense
port 8108 is open
https is on
health check returns ok.
Collection was created on the server
typesense_sync collection created

Questions:

Can we please expand the readme to include how to troubleshoot?
Can we please add to the readme examples of the config? I.e. do I need a forward slash for collections? Do I need the port on the server?

I am using this to test if a change in a doc creates any new document but It always return 0 documents.
curl -H "X-TYPESENSE-API-KEY: ${TYPESENSE_API_KEY}" \
     -X GET \
    "https://EXAMPLE.com:8108/collections/service"
{"created_at":1655499258,"default_sorting_field":"","fields":[{"facet":false,"index":true,"infix":false,"locale":"","name":".*","optional":true,"sort":false,"type":"auto"}],"name":"service","num_documents":0,"symbols_to_index":[],"token_separators":[]}%

Actually I was having issues navigating the Cloud Function log.
I'm getting two errors
If host is https://EXAMPLE.com I get this error:
EAI_AGAIN getaddrinfo EAI_AGAIN https
See
https://github.com/typesense/firestore-typesense-search/issues/16
If I omit https from host and add port (EXAMPLE.com:8108) I have:
ECONNREFUSED connect ECONNREFUSED x.x.x.x:443"

The extension only works on port 443, since Firebase makes calls out over the public internet.


Add Homebrew formula

Enable brew install revolver

Thanks very much for the PR, I've been meaning to sort this out for a while. I'm just putting together a deploy script to auto-update the formula when I push a new tag, and then I'll get this merged :)

@danielbayley I've merged this, but don't install just yet. I'm about to push the update script and may have to push tags a few times until it's working. I'll update this PR when I'm finished

Ha! I got the deploy script working, and then after the formula was updated with the new version, I realised that this won't work anyway because running brew tap molovo/revolver looks for a repo at molovo/homebrew-revolver. I'll create that repo and transfer the formula across.
Thanks again for the time you spent on this.

I realised that this won't work anyway because running brew tap molovo/revolver looks for a repo at molovo/homebrew-revolver

@molovo Yeah for some reason [says so in the docs] to be able to just do brew tap user/repo that repo has to have the homebrew- prefix, otherwise the format has to be brew tap user/repo url  for it to work (which I put in the README)…

molovo/homebrew-revolver. I'll create that repo and transfer the formula across.

Actually, considering this was done as a precursor to https://github.com/molovo/zunit/pull/71, it might be worth combining both formulas (formulae?) into a single homebrew-molovo repo or something like that and update the READMEs accordingly?
Then the install for both would jsut be the much more terse
brew tap molovo/whatever
brew install zunit # or just revolver

Then maybe you could even give the other dependency colors it's own formula… not sure if that'd be worthwhile though?

Ah yes, I ran brew install molovo/revolver/revolver, so I missed the URL you'd added in the README. The molovo/homebrew-revolver repo is now live, so you should be able to install this from molovo/revolver/revolver.
ZUnit will be a special case, as I'm about to go through the process of transferring it to it's own organisation so it'll have it's own tap there, with that and a few other things in it. I'll ping you when I've got that up and running.

Ok, cool.


Pending scenarios

When creating a new scenario, via new file, if the file upload is interrupted (voluntarily or not) the scenario will become irrecoverable. This happens because of how the api works:

A scenario is created in the database with pending state
A presigned url is sent to the user for file upload
Once the file is uploaded the server will set the scenario state as active.

If the file upload fails the scenario will exist in the database but it's not possible to edit it for files can only be changed on creation. The solution for the user is to create a new scenario and upload the file again. The only annoyance is having to insert the form data again.
We should also hide pending scenarios from the interface for it is not possible to so anything with them since they don't have files. We should also block access to a page for a scenario in pending state. yay/nay?
This will lead to an potentially weird situation. If the user tries to use a name attributed to a pending scenario, it will error for the name it's in use (but not visible in the list).
The solution for this name problem would be to perform a database cleanup every so often, where we remove any pending scenario which wasn't properly setup.
Should we also remove these pending scenarios from the api list?
Thoughts @olafveerman
cc @ricardomestre

I think we should show pending scenarios on the interface. Creating a
scenario may not be instantaneous, and it is confusing if a user creates a
scenario and subsequently sees nothing in the UI.
Access to the page of a pending scenario  may not be necessary.
Periodically removing stalled processes seems like a good option. Let's
mark this as a future enhancement?
On Thu, Mar 9, 2017, 09:17 Daniel da Silva<EMAIL_ADDRESS>wrote:

When creating a new scenario, via new file, if the file upload is
interrupted (voluntarily or not) the scenario will become irrecoverable.
This happens because of how the api works:

A scenario is created in the database with pending state
A presigned url is sent to the user for file upload
Once the file is uploaded the server will set the scenario state as
active.

If the file upload fails the scenario will exist in the database but it's
not possible to edit it for files can only be changed on creation. The
solution for the user is to create a new scenario and upload the file
again. The only annoyance is having to insert the form data again.
We should also hide pending scenarios from the interface for it is not
possible to so anything with them since they don't have files. We should
also block access to a page for a scenario in pending state. yay/nay?
This will lead to an potentially weird situation. If the user tries to use
a name attributed to a pending scenario, it will error for the name it's in
use (but not visible in the list).
The solution for this name problem would be to perform a database cleanup
every so often, where we remove any pending scenario which wasn't properly
setup.
Should we also remove these pending scenarios from the api list?
Thoughts @olafveerman https://github.com/olafveerman
cc @ricardomestre https://github.com/ricardomestre
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/WorldBank-Transport/rra-frontend/issues/50, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAt24mJUI7_7vTnwqv9IJ3zgNclvWLVZks5rkBf_gaJpZM4MYNuA
.


How to extract localize.uasset from ucas files UE5.2?!?!

Hey, can you help me for extracting the uasset to csv from game Life is Strange Double Exposure?
I don't know to use it.

Hi. First you need to find the mapping file for your game (usmap) on the internet. Then extract the .uasset files using Fmodel. To generate the csv run the command: UEExtractor.exe "...\FmodelOutput\Exports\YourGame" extracted_text.csv --noparallel

Hey, I used that command. But, the result is none of the uasset extracted... After generated the csv, the csv files is not contain any single text from uasset..

This is weird. 🤔 Can you upload sample files to Google Drive? For example, find some .uasset by text content via TotalCommander (I hope this will work).

Okey. I I'll uploaded to here some files for sample and all-uasset localize in other hosting.
This some sample that cannot be extracted by other tools (that have the same function)
LiSDE.Some.Sample.zip
And this All-Text can't read with your tools: LiSDE-All-Text

Well, it was fast, the problem is really in the structure of the uasset file, it is expected that the text structure starts with hex 0x29 0x01 0x1F which does not happen, since the text starts with hex 0x00 0x00 0x00.
For example from EP1_Global_Localization.uasset here:
00 00 00 49 27 6D 20 6E 6F 74 20 61 62 6F 76 65 20 72 65 6C 61 78 69 6E 67 20 6D 79 20 70 72 69 6E 63 69 70 6C 65 73 20 74 6F 20 67 69 76 65 20 53 61 66 69 20 74 68 61 74 20 62 6F 74 74 6C 65 20 63 61 70 2E 00
Output:

I'm not above relaxing my principles to give Safi that bottle cap.

And no, replacing the structure with 0x00 0x00 0x00 does not save the situation and does not give that data.
And so this is the intermediate result:
The problem is deeper somewhere, and I will continue to dig, and try to adapt the program to such a structure, although this will give a huge amount of false (broken) data in the future.

@muslimcyber26 and, for double check, I currently download Life is Strange Double Exposure to accurately verify that this is a problem with the structure, and not with the feature of packing the game with Denuvo or something else.
If I manage to extract the text, I will provide instructions below, otherwise I will inform you that it is not possible to do this with my program yet.


.NET Download Site Outage

.NET Download Site Outage
The .NET download site -- download.visualstudio.microsoft.com -- is currently experiencing a partial outage. There are reports from users from around the world who are experiencing 404 responses when downloading .NET installers (.msi, .tar.gz, ...). This includes downloading the .NET SDK with the .NET Core Task in Azure DevOps. The problem appears to be with the content delivery network (CDN) that we use. We are working closely with our CDN team to resolve the issue.
We will continue to update this issue until it is resolved. We're sorry about the inconvenience that this outage has caused.
Update at 6:40 PM PDT: The outage appears resolved. Please share any continued download failures.
Details
We first saw this issue on Friday morning (July 23) with an Azure DevOps instance in Europe. Since then, we have seen this issue in India and US regions as well.
With Azure DevOps, you will see an error message like the following:
Failed while installing version: 5.0.103 at path: /opt/hostedtoolcache/dotnet with error: Could not download installation package from this URL: https://download.visualstudio.microsoft.com/download/pr/a2052604-de46-4cd4-8256-9bc222537d32/a798771950904eaf91c0c37c58f516e1/dotnet-sdk-5.0.103-linux-x64.tar.gz Error: Error: Unexpected HTTP response: 404

We have seen similar reports for multiple .NET versions, including .NET 5 and .NET Core 3.1.
Workaround
If you are having trouble downloading .NET installers to your local machine, you may try downloading using a VPN set to a different region. It appears that the issue is sensitive to the user region.
There is no workaround using Azure DevOps.

Should we close this now @richlander?

download.visualstudio.microsoft.com is still down from Europe

Let me check with the team. What are you trying to download just so we can have a repro?

Looks good now.
I was trying to download http://download.visualstudio.microsoft.com/download/pr/acfc792d-506b-4868-9924-aeedc61ae654/0c9b1333f4e013af5cd3b7278e7d85a335d807467bec5ba9782f205af9f7e480/vs_Enterprise.exe
From https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=enterprise&rel=16


Is this tool used in production?

Hi all,
sorry if this title sounds a little offensive, but trying to get it to run feels slightly backstabbing. However, I am looking for a good deployment tool (ideally CLI) that we can use on top of our Marathon/Mesos cluster(s) and from the first look, lighter seems like a very good idea.
However, I noticed quite a few pains.

the Dockerfile is not working at all and poorly respecting best practices
the shell scripts (such as /commone.sh and /lighter  and /test use set -x, something you should only do while debugging your code - not in production.

I'd be willing to provide some PRs, however, I have proven zero knowledge in Python, also, done 3-liner PRs feels like we're all better off if you just $EDITOR $thefile && git commit -a && git commit yourself. Please correct me, if I can still be at help.
Last but not least,
will you continue using lighter in our own (production??) environment, or what will the expected TTL be?
Many thanks, and looking forward for your reply,
Christian.

This repository is being deprecated and will no longer be maintained.


ABAP - JSON Encoder/Decoder by valdirmendesdev

ABAP - JSON Encoder/Decoder - A tool to encode ABAP types to json and/or decode json to ABAP types.

thanks 👍


ENH: Stop generating metadata when config is not valid

Closes #602

Still export data (without metadata)?

Still export data (without metadata)?

Yes, no change in today's functionality. Simply a refactoring to find the export path to the object without having to create metadata first.
This way we can avoid several checks of the validity of the config, and align the pydantic model used to generate metadata more to the one used for the schema. + users not interested in metadata won't get annoyed by validation errors 👍
So to be clear today we do a pure export of the object if the config is not valid, i.e. no metadata is exported. This is not changed here 🙂


adding California medicare exclusions crawler

https://github.com/opensanctions/opensanctions/pull/1505/files


daemonset: Add runc path used by torcx and Flatcar Linux

Flatcar Linux uses torcx[0] to install addons on immutable Linux
distributions and one of them is runc. To support Flatcar, we need to
monitor runc path comming from torcx as well.
[0] https://github.com/flatcar-linux/torcx
Fixes: rancher-sandbox/lockc-helm-charts#9
Signed-off-by: Michal Rostecki<EMAIL_ADDRESS>

Thanks for the addition but I think it will not be enough: the following error message:
        message: 'error while creating mount source path ''/usr/local/bin/runc'':
          mkdir /usr/local/bin/runc: read-only file system'
        reason: ContainerCannotRun

from the previous volume would still occur.
I suggest to replace all the runc entries with the following volumes:
      volumes:
      - name: usr
        hostPath:
          path: /usr
          type: Directory
      - name: run
        hostPath:
          path: /run
          type: Directory

and the following mounts:
        volumeMounts:
        - name: usr
          mountPath: /host/usr
        - name: run
          mountPath: /host/run

In this way of using the parent directories, even if /usr/local/bin/runc does not exist, it will not attempt to mkdir it on a read-only filesystem.

Huh, that's quite ugly (exposing the whole /usr and /run), but sadly I don't see any other option.

Huh, that's quite ugly (exposing the whole /usr and /run), but sadly I don't see any other option.

I agree, it is not so nice. I would be interested if Kubernetes implements this "optional" host volume option, but it does not exist yet.
Alternatively, the helm chart could have a configurable field for the users to select the correct path, and only one runc volume would be added in the daemon set yaml... but it's not nice to demand manual configuration from users, so exposing the whole /usr and /run looks easier to use.

Huh, that's quite ugly (exposing the whole /usr and /run), but sadly I don't see any other option.

I agree, it is not so nice. I would be interested if Kubernetes implements this "optional" host volume option, but it does not exist yet.
Alternatively, the helm chart could have a configurable field for the users to select the correct path, and only one runc volume would be added in the daemon set yaml... but it's not nice to demand manual configuration from users, so exposing the whole /usr and /run looks easier to use.

I will go with your solution anyway. I'm testing it now, will push it once I get it to work.

Not tested but the code LGTM


Feature for reading image-file from disk

I'm not familiar with Go, but I would like to have a feature to be able to read image-file from disk which is a shared docker volume.
For example instead of the scheme to be http:// it can be file:// and the path is a file-path on disk.
Is this a feature you also want to incorporate?

I can probably provide a pull-request if you can give me some pointers where I can properly intercept the request and provide the data.

No, it's not really a feature I'd be interested in adding.  This project is specifically focused on proxying images that are available elsewhere on the web.  If this is a feature you need, I'd encourage you to simply add it in a separate fork of the project.


[Snyk] Upgrade postcss from 8.4.6 to 8.4.14

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade postcss from 8.4.6 to 8.4.14.

:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 8 versions ahead of your current version.
The recommended version was released a month ago, on 2022-05-18.

Release notes

Package name: postcss

8.4.14 - 2022-05-18
Print “old plugin API” warning only if plugin was used (by @ zardoy).

8.4.13 - 2022-04-30
Fixed append() error after using .parent (by @ thecrypticace).

8.4.12 - 2022-03-16
Fixed package.funding to have same value between all PostCSS packages.

8.4.11 - 2022-03-15
Fixed Declaration#raws.value type.

8.4.10 - 2022-03-15
Fixed package.funding URL format.

8.4.9 - 2022-03-15
Fixed package.funding (by @ mondeja).

8.4.8 - 2022-03-07
Fixed end position in empty Custom Properties.

8.4.7 - 2022-02-24
Fixed Node#warn() type (by @ ybiquitous).
Fixed comment removal in values after ,.

8.4.6 - 2022-02-01
Prevented comment removing when it change meaning of CSS.
Fixed parsing space in last semicolon-less CSS Custom Properties.
Fixed comment cleaning in CSS Custom Properties with space.
Fixed throwing an error on .root access for plugin-less case.

    from postcss GitHub release notes

Commit messages

Package name: postcss

b7d1836 Release 8.4.14 version
57006b4 Update dependencies
2a97ab8 Merge pull request #1744 from zardoy/patch-1
6447b55 Merge pull request #1747 from ben-lau/main
e36ed17 Update plugins.md
24f2efc Update depedencies
9bda624 Try to fix CI
7cd8e27 improve warnings count testing
2295e28 fix tests
fc19f1b fix: print deprecation warning only when plugin is used
80608c6 Release 8.4.13 version
b03cf14 Clean up code
8a1f6c2 Merge pull request #1740 from thecrypticace/fix/normalization-append-error
2713d8d Merge pull request #1741 from blinpete/main
02a026e Update README.md
2955628 Fix `append()` failing after mutating nodes through .parent
e1a055c Update dependencies
fa73b4c Update Deno CI config
e5c9298 Use Node.js 18 on Windows
3b934bb Update check-dts
dc03ca1 Update ESLint config
88671bc Update Node.js on CI and ESLint config
34f6fee Fix TypeDoc
92feea6 Update dependecnies

Compare

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

:rocket: Welcome to Baloise ChatOps based GitOps Bot :tada:
- If you want to enable preview environments for this PullRequest, comment with `/preview`.
- If you want to disable the preview environment for this PR, comment with `/undeploy`.
- If you need help or want to see the docs, comment with `/help`.

Make sure to refresh this page after submitting a command.
Preview environments can be redeployed automatically if you enable the webhook for updates to the source branch. :new:

Have fun building awesome apps! :hammer:  :whale2:  :truck:  :ship:


Cleanup CI

Hi,
I don’t think the current CI setup does what you want it to do (and partly contradicts with the meta data) so cleaned it up a bit to the current Python best practices.
Let me know if you have any questions.

Looks reasonable. Thanks!


Fix support for anonymous return types + fix build

The first commit upgrades the project to work with<EMAIL_ADDRESS>and the latest XCode.
The second commit adds support for anonymous return types, e.g.
{ arg: 'info', type: { count: 'number' }}

This patch is needed to support the recent loopback change in https://github.com/strongloop/loopback/pull/2842.
Connect to strongloop/loopback#2104
@gunjpan @jannyHou please review

@rmg the tests are failing in http://ci.strongloop.com/job/loopback-sdk-ios-codegen/label=macos/572/consoleFull because
test-env/bin/run-unittests: line 17: pod: command not found

Could you PTAL?
pod is a CLI tool from cocoapods.

@bajtos : Changes LGTM.
Re: pod command not found
I had the same error on my mac, had to install ruby and then cocoapods to get tests running.

OK, I'm going ahead and will land this patch. Let's discuss CI outside of this PR.


Allow using an arbitrary number of ports

Hi,
thanks for your great work!
I made adjustments to support an arbitrary, user-selectable number of input and output MIDI ports (I have tested this with up to 16; however, usb-device needs to be patched as in https://github.com/Windfisch/usb-device/tree/buffer-sizes to allow for a control buffer size large enough to hold the rather large descriptors.).
Also I corrected the ports in the descriptor: It seems that the right way[tm] is to have one external in/out jack per embedded out/in jack; Windows ignores embedded jacks that aren't connected to any external jack (or other element possibly), while Linux does just fine.
Only one in/out pair can be used with the default settings, though, but by using the control-buffer-256 feature of usb-device, up to 5 in/out port pairs can be used. Using more ports require aforementioned patch to usb-device.
Note: tdd.exe, a USB descriptor dumper and validator, still reports two errors (as with the original code): The in and out bulk endpoint descriptors are too short, because the MIDI audio class requires two more bytes. I've fixed this in https://github.com/Windfisch/usbd-midi (master), but this requires a patched version of usb-device.
I have changed the signature of the new() method; one might consider adding a differently-named function instead in order to retain compatibility.
If you have any questions or requests, give me a shout :).

I've just tried out this change and it works fine :) 4 in + 4 out directly worked out of the box ... but there is one problem: No matter what cable I try to send data to, it is always sent on the first cable.
I've made some tests and it seems like the cable_number field of the UsbMidiEventPacket is ignored:
                    let packet = UsbMidiEventPacket::from_midi(
                        CableNumber::Cable5,
                        packet.message,
                    );
                    defmt::info!("packet {:?}", defmt::Debug2Format(&packet));
                    let bytes: [u8;4] = packet.into();
                    defmt::info!("bytes {=[u8]:X}", bytes);

the output is:
       0 INFO  packet "UsbMidiEventPacket { cable_number: Cable5, message: ControlChange(Channel1, ControlFunction(U7(2)), U7(35)) }"
└─ midi_loopback::__cortex_m_rt_main @ src/bin/midi_loopback.rs:73
       1 INFO  bytes [0xF, 0xB0, 0x2, 0x23]
└─ midi_loopback::__cortex_m_rt_main @ src/bin/midi_loopback.rs:75

when using this, you can see the first byte is 0x0F and not 0x5F as expected.
I've tried to find the root cause and found this in the U4::combine implementation:
let upper = upper.0.overflowing_shl(8).0;

the upper nibble is shifted left by 8 bits and not 4. This surely is a problem, but changing it to 4 didn't fix the cable number problem.
So I'm still not sure where the cable number problem is coming from, maybe you have an idea :)

Hey, thanks for the debugging work. I thought i have tested that, tho; what platform are you on?
I am actively using this driver so I'm willing to fork and maintain it. So feel free so file these PRs against my repo :)

Yeah that was a strange error to find. As a device, I'm using a STM32F303CC, tested it on a Windows 10 host, will check on arch linux later.
The problem was only there when sending on cables other than the first one, receiving worked fine with the all cables. But well, looking at that 8bit shift that's no surprise ... the question is more like: how did it even work for that long :laughing: (we've all been there).
Nice to see someone take care, I'll hand in a PR later :)

This is interesting. I'd have thought that it should behave more or less identical to the STM32F103. Yea, the old question in software development: how did that ever work?! :D

Hi all. I'm happy to give contributor access here. Apologies I didn't get notifications.
One of the initial decisions about small in/outs was to make it easier to use in daw software.  I always intended to provide a more dynamic intializer, allowing people to have there use case.


PPO reinitialization of optimizer in mutations class fix, plus more unit tests

This PR solves the issue highlighted by @Fernadoo in https://github.com/AgileRL/AgileRL/issues/154. Thanks for your help!


Serialized data type

structure do
  data :serialized, :type => Hash
end

same as:
structure do
  data :text
end

serialize :data, Hash

I like the fact that this would DRY up things a bit, I'm just worried about absorbing too much of ActiveRecord's functionality into the DSL. Maybe just a :serialized type that stores as :text would suffice?

? Wouldn't this plugin work only for Rails/ActiveRecord anyway?

What I mean is that it might be simpler to keep the normal ActiveRecord convention, and manage the underlying schema via ActiveRecord::Base.serialized_attributes.keys in Migrant for example, rather than extending the DSL further.

Supported in 1.3.0. Will roll out further updates later.


Anki {{hint:field}} and other things

{{c1:cloze deletion::with a hint}} is probably enough.
Might not be a good idea to pollute the cards with optional fields
that only have a small use case or usefulness.
It could also be that having the need for a hint means the card is poorly worded
or requires editing to make the question/answer clearer.

Could be a nice addition, but would also mean a little more cognitive overhead. Marking as "won't do" for now.

{{hint:field}} for clickable hints
Other field replacement stuff
What other hidden features or cool stuff is there?[^1]

[^1]: With the caveat that ideally Anki shouldn't rely on anything other than the default features. Some things like advanced search plugins could be useful but Anki plugins break, and could make changes to the notes that might break too.

Tentatively closing this issue. If there's any really cool stuff that could be integrated into a different card I'll keep my eye open.


Support Ouroboros NtC over TCP

Let's add support for connecting to the node's NtC data over TCP.

This isn't necessary as we removed connecting to the node over Ouroboros.


Upgrade to Bevy main, in preparation for 0.6

This is a chase the errors upgrade to latest bevy main.
I am not sure if there are architectural changes needed, or subtle errors introduced, as this is the first time looking at this crate.
The examples work, so that is nice.
Thanks

Would you be okay if I were to leave this open until 0.6 gets released?

Of course, this is just the result of me playing around with bevy main. There's definately some more changes to be made:

docs
usages of AppBuilder in examples (IIRC)

0.6 has been released!

Changes look good, would love to see this get merged!

I have added 3 commits, that update the README, method documentation, and the src/client.rs, which was causing an error on latest main (not 100% sure this is needed for 0.6).

I have updated the dependency to bevy 0.6, and also rebased onto main.
Should be good to go.

@rezural thanls a lot for your work, it works nicely.
Could you update the Bevy Version Compatibility in the README.MD too?


Clarification about variables in the code

I was having some trouble understanding what all of the input variables are and was hoping explanations could be provided.
This is from text_cloze.py, with comments annotated by my understanding/questions
    # input theano vars
    # these are just the images from the context panels
    in_context_fc7 = T.tensor3(name='context_images')

    # unsure of what the bbmask contains vs the context_bb
    in_context_bb = T.tensor4(name='context_bb')
    in_bbmask = T.tensor3(name='bounding_box_mask')

    # is in_context the actual text from the context panels?
    in_context = T.itensor4(name='context')

    # what is this mask vs the bb mask?
    in_cmask = T.tensor4(name='context_mask')

    # are these the image and bb for the answer panel?
    in_answer_fc7 = T.matrix(name='answer_images')
    in_answer_bb = T.matrix(name='answer_bb')

    # I see that answers is of shape 3 x max_words, where 3 is the num of context panels, but what do the numbers in this tensor mean?
    # when I printed it out, it looked like
 # [[[ 5547    17  1547 ...     0     0     0]
 # [  776 20000 20000 ...     0     0     0]
 # [  102     4    13 ...     0     0     0]]
   in_answers = T.itensor3(name='answers')

    # what is the mask for?
    in_amask = T.tensor3(name='answer_mask')

    # the labels indicate which answers are the correct ones
    in_labels = T.imatrix(name='labels')

Hello. Might be a bit late to this,
    # input theano vars
    in_context_fc7 = T.tensor3(name='context_images') # bsz x 3 x 4096 (because 3 context panels, fc7 features each of dim 4096)
    in_context_bb = T.tensor4(name='context_bb') # bsz x 3 x 3 x 4 (because 3 context panels, each contains a max of 3 speech boxes, each box described by 4 coordinates)
    in_bbmask = T.tensor3(name='bounding_box_mask') # bsz x 3 x 3 (because 3 context panels, each contains a max of 3 speech boxes, the mask has an entry of 1 in the ith position if the panel contains the ith speech box)
    in_context = T.itensor4(name='context') # bsz x 3 x 3 x 30 (because 3 context panels, each contains a max of 3 speech boxes, each box contains speech with a max of 30 words)
    in_cmask = T.tensor4(name='context_mask') # bsz x 3 x 3 x 30 (because 3 context panels, each contains a max of 3 speech boxes, each box contains speech with a max of 30 words, where the mask has an entry of 1 in the ith position if the ith word exists in the speech)
    in_answer_fc7 = T.matrix(name='answer_images') # bsz x 4096 (fc7 feature for the panel for which we want to guess the speech)
    in_answer_bb = T.matrix(name='answer_bb') # bsz x 4 (the answer panel has one speech box described by 4 coordinates)
    in_answers = T.itensor3(name='answers') # bsz x 3 x 30 (3 candidate answers each of max 30 words )
    in_amask = T.tensor3(name='answer_mask') # bsz x 3 x 30 (mask for 3 candidates answers, ie, an entry of 1 in the ith position if the ith word exists in the candidate)
    in_labels = T.imatrix(name='labels') # bsz x 3 (out of 3 candidate answers, the correct answer will have a 1)


Added unit tests for takeByTopology in cpumanager.

Moved takeByTopology to a new file.
Made whole-socket, whole-core and cpu branches deterministic.
Fixed a bug where asking for zero cpus yielded a nonempty cpuset.

cc @balajismaniam @sjenning

Kudos to @balajismaniam for discovering bugs while writing node e2e tests

lgtm :+1:
next time, if you can break the function relocation and function changes into separate commits, makes reviewing easier.  thanks!
tests ftw!

going to close this and cherry-pick the commit to cpu-manager branch.

LGTM.

cherry-picked


Tutorial improvement in README

Hi trevmex,
Please consider the changes if it makes sense :)
Thanks,
zdk

Good call on adding the config info to the demo! This is how we use EnvJasmine at work as well.


Dict mapping throws Exception

If source objects contains dict attribute like
	enums = { 						"enmu0": "some value", 						"enum1": "some other value" 					}
automapper throws
ValueError: too many values to unpack (expected 2)
I guess the problem is this part of code:
           if is_sequence(obj):                 if isinstance(obj, dict):                     result = {                         k: self._map_subobject(                             v, _visited_stack, skip_none_values=skip_none_values                         )                         for k, v in obj                     }
I think it should be for k, v in obj.items()

Oh, that's interesting, let me take a look at it this week and I'll try to fix it.
Or you are welcome to submit a Pull Request with changes :)

@damjan-icentic Thank you so much for pointing out the issue. It is fixed in the latest published release.
Here is the test case: https://github.com/anikolaienko/py-automapper/blob/main/tests/test_automapper_dict_field.py


The auto-upgrade shared libraries feature can break environments

Describe the bug
The Auto-Upgrade shared libraries feature can break environments
How to reproduce
Have some things installed, leave the environment alone for a while, upgrade the system python version, go to perform reinstall-all or even a basic operation like list after the python version upgrade. And the environment attempts to autoupdate the shared libraries, fails and triggers an exit of the program. Effectively leaving the environment in a broken state that pipx cannot upgrade out of.
Expected behavior
Not getting stuck like this. Auto-Upgrade should have an off switch, or fail without otherwise preventing normal command execution.

@cs01 is this from #318?  In the past I thought reinstall-all was working for me when my system python got upgrad

Kept digging, turned out I had an old version so I'm going to call it invalid and close this.


Hide search related resources behind an action button

Signed-off-by: Zack Layne<EMAIL_ADDRESS>related issue: https://github.com/stolostron/backlog/issues/23134

lgtm


Sticky effects with top row and first three columns on the left while scrolling.

Hi. I restructured the code to make sure the top row and left three columns be sticky while scrolling in x, y direction.

This has been one of our earliest requested features. Thanks for the PR @Sharonfish

Thanks for the PR @Sharonfish!
This PR will close #431, close #524.

Hi. Thanks for the review from Shishir and Hans. I'll open a new pull request with all changes made.

Thanks for the review from Shishir and Hans. I'll open a new pull request with all changes made.

Hi. Thanks for the review from Shishir and Hans. I'll open a new pull request with all changes made.

You can just push the changes to the same branch. No need to open a new PR.

Sounds good. I'll reopen it.

Hi. I made several changes:

Change the code based on the comments above
I experimented with mobile view sticky effects and I think keeping the rank column can be helpful for viewers as they can identify the row easily with ranking numbers. So for the mobile view, I only keep the left most one (for both expand/non-expand versions).
Let me know if anything needs to be adjusted.

Hi. I made several changes:

Change the code based on the comments above
I experimented with mobile view sticky effects and I think keeping the rank column can be helpful for viewers as they can identify the row easily with ranking numbers. So for the mobile view, I only keep the left most one (for both expand/non-expand versions).
Let me know if anything needs to be adjusted.

In the mobile view, can we freeze the model name column instead of the rank column? Feel like it would be more useful to the user.

I agree that the model column will be more informative for users. However, the model column is currently on the third from the left so it's kind of weird if we keep the third one to be sticky while having the 1st, 2nd, and other columns flow as we scroll. If we want to keep the model column sticky, I think we need to rearrange the order a bit so that the model column will switch / replace with the rank column. What do you think?


s/zmq.core.constants/zmq.constants

I think that zmq.core.constants was only available in old releases of pyzmq. This PR fixes the import statement.

@CentaurWarchief thanks for your PR.
What is the reason for this change? Is there anything not working?
Anyway, I am sure that the original import statement was working (I wrote the fix) with older pyzmq versions and proposed change would fail in environments, where the older version happens to be installed. As setup.py has no fixed pyzmq version required, it may happen.
Proposal: modify the code and try to import the constants for all three known cases, first trying the most recent one, then older, finally the oldest one.
Checking the tox.ini I see, we do not test it for various zmqlib and pyzmq versions. If you manage to modify tox.ini, it would be welcome (bug if you test it manually, I will modify the tox.ini later on myself).

Traceback (most recent call last):
  File "/bin/zmqc", line 9, in <module>
    load_entry_point('zmqc==0.1.0', 'console_scripts', 'zmqc')()
  File "/usr/lib/python2.7/site-packages/zmqc.py", line 286, in main
    sock_opts = get_sockopts(args.sock_opts)
  File "/usr/lib/python2.7/site-packages/zmqc.py", line 227, in get_sockopts
    int: set(zmq.core.constants.int_sockopts).union(

I tested.

Here is list of pyzmq versions:
[
  "13.0.0",
  "13.0.1",
  "13.0.2",
  "13.1.0",
  "14.0.0",
  "14.0.1",
  "14.1.0",
  "14.1.1",
  "14.2.0",
  "14.3.0",
  "14.3.1",
  "14.4.0",
  "14.4.1",
  "14.5.0",
  "14.6.0",
  "14.7.0",
  "15.0.0",
  "15.1.0",
  "15.2.0",
  "2.0.10",
  "<IP_ADDRESS>",
  "2.0.7",
  "2.0.8",
  "2.1.1",
  "2.1.10",
  "2.1.11",
  "2.1.4",
  "2.1.7",
  "2.1.9",
  "2.2.0",
  "<IP_ADDRESS>"
]

I will see, if I manage doing quick update of tox.ini to run tests on major modifications. If I do
not commit it today, it may take longer.

@CentaurWarchief I have added testing more versions of pyzmq into tox.ini, see last accepted PR.
I have tested that on Linux (Jessie) and apart from env py27-pyzmq2 all were working well. With py27-pyzmq2 I had two issues - older versions did not compile, newer ones failed on SUBSCRPTION option not recognized. This I will report in separate issue.
There is added TESTING.rst document providing instructions how to use it.
Complete test runs (especially the first time) longer time, as it has to build multiple versions of pyzmq. Later runs will be faster.
If you are on MS Windows, it is possible, that some versions will not install at all (I do not have a chance to test it).
Run your modifications against these test environments. Even for py27-pyzmq2 it might show, that apart of existing error some new may appear (and be related to your change.)

Sure. I will do, but it will take some time. Let's leave this PR open until a further analysis? What do you think?
I can run the tests battery, but as it will probably raise some errors I'll have to spend a little time to fix and adjust for each version as needed. That's why I'm saying it will take some time — because I can't look into those fixes now.


Open Magnet Links

Is there a way to enable Thorium to open Magnet links. I've tried many different things, but no go... Please advise, thank you for your help.
I'm downloading with an external app, but Thorium does not ask to send Magnet links to app. Please update.

Do you want to download files from magnet links? If so, I think it would be better to leave this job to a third-party downloader.

@BigT2013 Thorium can't open magnet links because it is not a Bittorrent client.
If you mean automatically opening the bittorrent client when one clicks on a magnet link, it should happen automatically.
Make sure that Bittorrent or qBittorrent has been installed with proper file type handling for .torrent and .magnet files.
Lastly, you could check at chrome://settings/handlers and see what it says.

Hi, Want to add that i have this issue and further explain my own situation, if you want me to open a new issue advise.
I am using thorium on Gauruda Linux.
I previously used it on windows and the windows version did not have this issue.
On garuda Linux however, When i click on a magnet link I do not get all my torrent clients (specifically Qbitorrent) as an option to opnen. (Or anything other then Orien which is only a torrent straming option) See Here:

this option DOES come up on firefox, so its not a issue with the qbitorrent configuration but thorium.

Furthermore , when i go to chrome://settings/handlers i do not see any option in thorium at all to handel magnet links, or for that matter anything , here is what I See :

If I am missing something here please let me know.
The version of Thorium I am on is :
Version 126.0.6478.231 (Official Build) stable, built on Ubuntu (SSE3) (64-bit)


Added line items to authorize.net cim gateway for auth_capture

Authorize.net CIM supports line items (which are useful for tracking, matching up orders, etc.) but activemerchant does not. I added the necessary methods to accept and convert line items to xml. The line items should be passed as an array of hashes within the transaction hash.
I've also added line items to the authorize.net gateway tests for auth_capture. The line items are not returned in the response, however.

Before merging I'd want to at least see some unit tests that verify the line items are getting added correctly to the request. Thanks!


Unwanted nights being included in part4 analysis

On a local test bench of files, I am getting two nights included in part4 analysis that should not be using the latest v2.1-0 #330
This is the same error as stated at the end of issue #321 discussion. On Vincent's machine, the night was not included, but on mine it is for some reason. The error is still happening on my machine.
Example 1:

Part4 nightsummary:

Part4 summary (all 6 nights in nightsummary are used):

Example 2:

Part4 nightsummary:

I'm worried that nights that are clearly not sleep are being included in the final analysis and are going to pollute the final, averaged values.
Maybe, this is a small bug fix as it is, otherwise, perhaps, a check could be included that would look for at least some level of movement during the SPT for the night to be included. I would think it is reasonable to expect some movement if a person is wearing the sensor over a full night.
I was testing on the latest v2.1-0 release, but I've pushed the branch I was testing on to my local repo, just in case (release2.1-0_MP).

Hi Matt, I see in your config.csv file that you have includenightcrit = 4, by which part 4 includes any night (noon-noon) with 4 or more valid hours. When I change that to includenightcrit= 16, which is normally the default, and re-run part 4, the first night is excluded.
However, this does not address the issue with night number 8, because that night has only 13% non-wear according to current non-wear detection (see column fraction_night_invalid). The threshold is 1- (16/24) = 33.33%. For night 8 it seems GGIR is underestimating the amount of non-wear, which I also see sometimes in other datasets. Possible solutions:

If you use read.myacc.csv then maybe use a less stringent setting for rmc.dynamic_range, maybe the noise in your data is too close to the threshold that is used.
Use 1800 instead of 3600 as third value in argument windowsizes, to make it use a 30 minute rolling window instead of 60 minute. This should increase sensitivity to non-wear.

The latter point may even need to be changed in the default argument values, but before we can do that I think it would be best if this is critically evaluated first. I will create a new issue for that now.
In #321 I focused on the double nights, which I think we resolved.

Thanks for the feedback @vincentvanhees, that is very helpful. Yes, it was a mistake that I had left my includenightcrit at 4 hours.
As per Example 2 mentioned above, great idea on creating a data-set to allow us to test performance on non-wear portions, I would be happy to work on that. There was a researcher at the conference in Spain who was working on this, I wonder if we should talk to him.
Also, I may have a quick look into implementing a quick 'artefact detection' check at the end of sleeponset/wakeup detection in order to prevent nights with very little movement through (in case the non-wear threshold doesn't cancel them). From your experience, do you think it is OK to set a minimum range of accel values on a nights sleep?

non-wear
Great that you have time to look into the non-wear detection.
I think this work by Shaheen Syed from earlier this year could be informative (note that Shaheen is in OSS webinar series and presents later this year).
He  used ECG as ground truth and used the GGIR algortihm modified to be 30 minutes instead of 60 minutes, as that is how I initially presented it in 2011. Their positive results may be an indication that it is safe to switch from 60 to 30 minutes.
artefact detection
Keep in mind that the day or night may still be of interest for research if a person does not wear the accelerometer during the sleep. For example, if a sleep diary is used and the sleep diary matches well with the non-wear window then a researcher may still be interested in using that night. Especially if their interest is primarily on time-use during the 24 hour day with part 5.
So, if you implement this then I would make it conditional on not having access to sleep diary.
Further, it may be easier to focus on improving the non-wear detection handle these cases then to on developing a new algorithm for detecting non-wear during the night.

Looks like this issue has been addressed, so I am closing it now. Feel free to re-open if you feel this needs renewed attention.


what path do you add?

there is a option above 1. that says path what do i add in the path The game files i want to crack?

Yes. You need original Steam game file to do that.


Scrolling speed behavior

Currently the scrolling speed increases based on the number of mousemove events in the scroll area, apparently because it accumulates many setTimeouts.
Instead the speed should be based on the distance to the edge within the margin. This is what browsers, operating systems etc. do because it lets the user control the speed in a meaningful way.
After checking out this library's demo, I've implemented the desired behavior in my audio editor Wavey.
Here's the relevant code extracted (and modified a bit) (in CoffeeScript):

auto_scroll_margin = 30
auto_scroll_max_speed = 20

auto_scroll_container_el.addEventListener "mousedown", (e)->

	auto_scroll_container_rect = auto_scroll_container_el.getBoundingClientRect()
	auto_scroll_rect =
		left: auto_scroll_container_rect.left
		top: auto_scroll_container_rect.top
		width: auto_scroll_container_el.clientWidth
		height: auto_scroll_container_el.clientHeight
		right: auto_scroll_container_rect.left + auto_scroll_container_el.clientWidth
		bottom: auto_scroll_container_rect.top + auto_scroll_container_el.clientHeight

	mouse_x = 0
	mouse_y = 0
	auto_scroll_x = 0
	auto_scroll_y = 0
	auto_scroll_animation_frame = -1

	auto_scroll = ->
		auto_scroll_x =
			if mouse_x < auto_scroll_rect.left + auto_scroll_margin
				Math.max(-1, (mouse_x - auto_scroll_rect.left) / auto_scroll_margin - 1) * auto_scroll_max_speed
			else if mouse_x > auto_scroll_rect.right - auto_scroll_margin
				Math.min(1, (mouse_x - auto_scroll_rect.right) / auto_scroll_margin + 1) * auto_scroll_max_speed
			else
				0

		auto_scroll_y =
			if mouse_y < auto_scroll_rect.top + auto_scroll_margin
				Math.max(-1, (mouse_y - auto_scroll_rect.top) / auto_scroll_margin - 1) * auto_scroll_max_speed
			else if mouse_y > auto_scroll_rect.bottom - auto_scroll_margin
				Math.min(1, (mouse_y - auto_scroll_rect.bottom) / auto_scroll_margin + 1) * auto_scroll_max_speed
			else
				0

		# <update selection while scrolling here>

		setTimeout ->
			auto_scroll_container_el.scrollLeft += auto_scroll_x
			auto_scroll_container_el.scrollTop += auto_scroll_y

		auto_scroll_animation_frame = requestAnimationFrame(auto_scroll)

	window.addEventListener "mousemove", onMouseMove = (e)->
		mouse_x = e.clientX
		mouse_y = e.clientY
		cancelAnimationFrame(auto_scroll_animation_frame)
		auto_scroll_animation_frame = requestAnimationFrame(auto_scroll)

	window.addEventListener "mouseup", onMouseUp = (e)->
		window.removeEventListener "mouseup", onMouseUp
		window.removeEventListener "mousemove", onMouseMove
		cancelAnimationFrame(auto_scroll_animation_frame)

I'll investigate it.
This line here embodies the math your suggesting?:
Math.max(-1, (mouse_y - auto_scroll_rect.top) / auto_scroll_margin - 1) * auto_scroll_max_speed

And cancel every move to prevent building up extra calls?:
        cancelAnimationFrame(auto_scroll_animation_frame)
        auto_scroll_animation_frame = requestAnimationFrame(auto_scroll)

I might have to make this a version 2 change. It could be breaking (surprising) for some people.

Yeah. To see how the current behavior is counterintuitive, (on the demo, where scrolling outside is disabled) drag outside the container and back carefully. It'll be slow; then move a bit further onto the container and it starts to pick up speed, then move further and it stops instantly because the cursor left the scroll area.

Ok. I see. It's more precise control based on what a user knows.

Wow! I just implemented this locally. It works! And it's really freaking smooth too. Way smoother than the original.
I still have to make it compatible with some of the options, and update the readme. This change will be in the next version though.
I'll also need to polyfill requestAnimationFrame for older browsers, but that's not too big of a deal. I think requestAnimationFrame is contributing to the smoothness.
Thank you so much for the suggestion.

@1j01 I'm getting ready to document this change before I push. Here you have auto_scroll_max_speed that controls the speed. How should I word this for the documentation. Would speed in this sense be pixels per frame as opposed to pixels per second?
Something else that's interesting. A max speed of one prevents all scrolling. Do you think I should I round up?

Yes, that would be pixels per frame.
In my implementation I can set auto_scroll_max_speed to 1 and still have it move.
If you push the changes I can take a look at what's different.

Thanks again. I'll check my code once more before I push to see if I changed something. I pretty much just cut up the code you provided, and spliced it into the autoscroller code. I might have screwed up something in the process. If I don't find anything I'll still push.

Oh, on further investigation, it doesn't behave correctly on the right/bottom sides, so I think my math is off, and probably does need some rounding. The left/top sides are probably benefiting from implicit rounding. The right/bottom probably need a floor or ceil and the left/top could use the opposite but don't need it, except for consistency.

Sorry if I sent you on a wild goose chase, you were right that it just needs to be rounded up.
I've updated my code:
auto_scroll_x =
	if mouse_x < auto_scroll_rect.left + auto_scroll_margin
		Math.floor(Math.max(-1, (mouse_x - auto_scroll_rect.left) / auto_scroll_margin - 1) * auto_scroll_max_speed)
	else if mouse_x > auto_scroll_rect.right - auto_scroll_margin
		Math.ceil(Math.min(1, (mouse_x - auto_scroll_rect.right) / auto_scroll_margin + 1) * auto_scroll_max_speed)
	else
		0

auto_scroll_y =
	if mouse_y < auto_scroll_rect.top + auto_scroll_margin
		Math.floor(Math.max(-1, (mouse_y - auto_scroll_rect.top) / auto_scroll_margin - 1) * auto_scroll_max_speed)
	else if mouse_y > auto_scroll_rect.bottom - auto_scroll_margin
		Math.ceil(Math.min(1, (mouse_y - auto_scroll_rect.bottom) / auto_scroll_margin + 1) * auto_scroll_max_speed)
	else
		0

Haha. :)
I had to make time to work on this so I haven't yet chased the wild goose.
Hopefully I can push version 2 by tomorrow. This particular update will make this library work much nicer.

I haven't pushed version 2, but I've updated the demo.
https://jsfiddle.net/hollowdoor/a2or8sez/11/
Almost ready to push. A few more checks, and everything should be ready.
I decided to use es2015 this time around.

I think there's a bug where if you drag it outside and back in occasionally it won't scroll, and then it can start working again while you're still dragging it. I don't know how to consistently reproduce it.

I think that is actually an old bug. It doesn't have anything to do with these modifications. The problem for what you're talking about also happens when the pointer crosses containers. It has to do with this library taking multiple elements. For some reason the prevention of scrolling is more pronounced after the change to this scrolling behavior.
I'm going to see if I can solve it. I think I have an idea. If I can't find the problem I'll push, and post another issue.

I found what caused the inconsistent scrolling issue in the demo. It's a conflict with dragula. dragula moves the currently dragged element onto the body.
This is a problem because dom-autoscroller seeks through element parents if the current target is a child. Seeking to the body subverts the scrolling behavior. Even if it is dragula that's doing it there could be some other lib that will interfere in a similar way.
I'll just fix the problem instead of starting a new issue.
Version 2 is going to be much better. :)

The demo is updated, and it's super nice. By accident fixing the problem with inconsistent scrolling also made it even smoother.
https://jsfiddle.net/hollowdoor/a2or8sez/12/
I want to do some source cleaning then I'll push.


require urllib3==1.10.2

Coverage remained the same at 82.04% when pulling 867916939f88ac3a73ac305ae8a0d92fe845bb43 on feature/update-urllib3-version into 8cc4e1664f057d046e512371a21f5f91c935cf31 on develop.


multi subtitle support

is there any implementation that I can use to get multi subtitle and choose one of them and it will change the subtitle without re initiate the DataSource ?

is there any implementation that I can use to get multi subtitle and choose one of them and it will change the subtitle without re initiate the DataSource ?

Right now, it's not
I will try to implement it in the next release and let you know (no promises)

  await meeduPlayerController.videoPlayerController.setClosedCaptionFile(loadCaptions(index));
```

I use this method and it works but if only you can pass it through `meeduPlayerController`

Yes will do so in next release, thank you


"Priponești", "Ciorăști", "Huștiu", "Liești" and "Priponeștii de Jos" are listed in the drop-down menu

Description:
"Priponești", "Ciorăști", "Huștiu", "Liești" and "Priponeștii de Jos" are listed in the drop-down menu alongside its corresponding county and commune, according to the law
Precondition:
The website is up an running.

Step 1
Type "Priponești" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Priponești, GALAȚI (Priponești)".

Step 3
Type "Ciorăști" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Ciorăști, GALAȚI (Priponești)".

Step 6
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 7
Type "Liești" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Liești, GALAȚI (Priponești)".

Step 9
Type "Priponeștii de Jos" in the search bar.

Expected results
The location is listed in the drop-down menu as "Sat Priponeștii de Jos, GALAȚI (Priponești)".